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 internethoping person give me insight.
java opencv colors bufferedimage
No comments:
Post a Comment