Friday 15 August 2014

java - BufferedImage: setRGB(getRGB()) sets no data, if the getter is called before -



java - BufferedImage: setRGB(getRGB()) sets no data, if the getter is called before -

i'm trying understand why

bufferedimg.setrgb(x, y, color.getrgb());

sets no info (white pixels) @ all, if print 1 before by

system.out.println(color.getrgb());

as in next java code:

... int height = img.getheight(); int width = img.getwidth(); for(int = 0; < height; i++){ for(int j = 0; j < width; j++){ color c = new color(img.getrgb(j, i)); int reddish = (int)(c.getred() * 0.299); int greenish = (int)(c.getgreen() * 0.587); int bluish = (int)(c.getblue() *0.114); color newcolor = new color(red + greenish + blue, reddish + greenish + blue, reddish + greenish + blue); system.out.println(newcolor.getrgb()); // resets info img.setrgb(j, i, newcolor.getrgb()); } }

additional infos:

its implementation converting rgb grayscale it works fine removing print/log line (multiple) calls of println() before or/and after shows right data buffered image source opencv mat i didnt find specific reasons on internet

hoping person give me insight.

java opencv colors bufferedimage

No comments:

Post a Comment