【发布时间】:2013-11-16 18:25:28
【问题描述】:
在我看来,我一直在努力解决一个小问题。我的任务是实现转换功能以使给定图像成为补图。我的代码可以工作并输出具有不同颜色的图像,但是我不确定该函数是否真正转换了彼此互补的色调。我已经包含了我的代码中最重要的部分以供参考。任何指针?
float hue,sat,brightness;
int rgbValues;
float[]hsbVals=Color.RGBtoHSB(red, green , blue , null );
hue=hsbVals[0];
sat=hsbVals[1];
brightness=hsbVals[2];
rgbValues=Color.HSBtoRGB(hue, sat, brightness);
red=(rgbValues << 16)& 0xFF;
green=(rgbValues << 8) & 0xFF;
blue= rgbValues & 0xFF;
/* Put these values into imageTwo */
imageTwo.setRGB(x, y,red, green, blue);
}
}
【问题讨论】:
-
为什么将它们转换为 hsb 再转换回 rgb?
-
我不确定转换回 rbg 背后的实际原因,但我关注了这篇文章。 stackoverflow.com/questions/11530167/…
-
这不是完整的算法,请尝试详细阅读问题和答案。
-
是的,我认为她正在寻找一种更有效的方法。我只想将给定的图像及其颜色变成自身的补充。我的问题是,我上面的实现有什么问题吗?
-
是的,您将 rgb 值转换为 hsb,然后在没有任何目的或效果的情况下再次返回,并且您永远不会更改这些值。
标签: java image-processing image-manipulation