2015-11-02 5 views
3

Я хотел бы найти каждый пиксель изображения, а затем я получу общее значение пикселя, после чего найду среднее значение. Я сравниваю каждое значение пикселя со значением, которое я получаю, если оно равно> 255, значение пикселя станет 1 (представляет черный цвет), если < 255 затем станет 0 (представляет белый цвет). После этого я устанавливаю новый цвет RGB и рисую выходное изображение. InputСреднее значение изображения в java

Основываясь на моей концепции, я думал, что выходное изображение будет черно-белое изображение, но оно просто показывает черный цвет. Output

public class Imej { 
    public void mapping(BufferedImage image) throws IOException { 
     BufferedImage binary = new BufferedImage(image.getWidth(), 
      image.getHeight(), BufferedImage.TYPE_BYTE_BINARY); 
     int i, j; 
     int w = image.getWidth(); 
     int h = image.getHeight(); 

     image.setRGB(i, j, new Color(pixel[i][j]).getRGB()); 
     ImageIO.write(binary,"png",output); 
    } 
} 

Это readimage.

public void readimage() { 
    BufferedImage image = null; 
    File f = null; 
    try { 
     image = ImageIO.read(new File(/** path **/)); 
     //System.out.println(image); 
     mapping(image); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     System.exit(1); 
    } 
} 

public static void main(String[] args) { 
    Imej a = new Imej(); 
    a.readimage(); 
} 
+0

ли вы имеете в виду '225', или вы имеете в виду' 255'? Или, вы имеете в виду 'w' или' h' в зависимости от контекста? –

+0

- 255 ......... – kenreal

+0

Ваш * текущий * входное изображение 300x300. –

ответ

1

Вы должны создать среднюю функцию, которая возвращает среднее значение пикселя. Что-то вроде int mean(int[][] pixels, int i, int j). Тогда вы должны изменить первую строку в вашем случае заявление будет if (mean(pixel, i, j) > mean) { //...

 if (pixel[i][j] > mean) 
       pixel[i][j]=1; 

Должно быть

 if (mean(pixel, i, j) > mean) 
       pixel[i][j]=0xFFFFFF; 
+0

Я попытался изменить, но результат все тот же ... или, возможно, еще есть другая ошибка .. – kenreal

+0

спасибо dude.i может создать черно-белое изображение .. без создания функции .. – kenreal

Смежные вопросы