Advertisement
Guest User

Untitled

a guest
Jan 4th, 2014
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.90 KB | None | 0 0
  1.     public void processImage(){
  2.  
  3.         int[][] result = new int[800][600];
  4.  
  5.         int temp;
  6.  
  7.         res=new BufferedImage(800,600,BufferedImage.TYPE_BYTE_BINARY);
  8.         int pixelvalue;
  9.         int connectedComponentIndex = 0;
  10.  
  11.         //käydään läpi pikseli pikseliltä
  12.         for(int x = 0; x < 799; x++){
  13.             for(int y = 0; y < 599; y++){
  14.  
  15.                 if(!pixelIsBlack(x, y, img)){
  16.  
  17.                     if(getPixelsSmallestPreviousNeighbourIndex(x, y, result) != 0){
  18.                         result[x][y] = getPixelsSmallestPreviousNeighbourIndex(x, y, result);
  19.                     }else{
  20.                         connectedComponentIndex++;
  21.                         result[x][y] = connectedComponentIndex;
  22.                     }
  23.                 }
  24.  
  25.             }
  26.         }
  27.     }
  28.  
  29.  
  30.     public int getPixelsSmallestPreviousNeighbourIndex(int x, int y, int[][] result){
  31.  
  32.         int index = 0;
  33.  
  34.         if(x != 0 && y != 0){
  35.             index = result[x-1][y-1];
  36.         }
  37.         if(x != 0 && y == 0){
  38.             if(result[x-1][y] != 0){
  39.                 if(index == 0 || result[x-1][y] < index){
  40.                     index = result[x-1][y];
  41.                 }
  42.             }
  43.         }
  44.         if(x == 0 && y != 0){
  45.             if(result[x][y-1] != 0){
  46.                 if(index == 0 || result[x][y-1] < index){
  47.                     index = result[x][y-1];
  48.                 }
  49.             }
  50.             if(result[x+1][y-1] != 0){
  51.                 if(index == 0 || result[x+1][y-1] < index){
  52.                     index = result[x][y-1];
  53.                 }
  54.             }
  55.         }
  56.         return index;
  57.     }
  58.  
  59.  
  60.     public boolean pixelIsBlack(int x, int y, BufferedImage image){
  61.         int pixelvalue = image.getRGB(x,y);
  62.         int temp = pixelvalue>>16&0xff;
  63.  
  64.         if(temp == 0){
  65.             return true;
  66.         }else{
  67.             return false;
  68.         }
  69.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement