所以我正在为我的编程课做一个小组项目,我们正在制作一个照片编辑程序,我的程序的一部分是拍摄图像并使用rgb将其变成黑白。我想知道RGB实现黑白的最佳价值或方式是什么?
答案 0 :(得分:4)
我建议让Java 2D库担心转换:
如果您“手动”进行转换并且想要尽可能准确地进行转换,那么您需要考虑到眼睛对某些颜色成分比其他颜色更敏感。 (如果您想要“粗略且准备好”的转换,您可以平均颜色分量,但严格来说这并不是最准确的转换。)
答案 1 :(得分:2)
对于每个像素,您可以将RGB转换为HSB(使用Color.RGBtoHSB
),将饱和度设置为0,然后使用Color.getHSBColor
转换回Color实例。
答案 2 :(得分:0)
Wikipedia实际上有一个关于如何在获得RGB颜色后执行转换的好文章。
答案 3 :(得分:0)
嘿,这个page有许多Java Image过滤器,可以免费下载。所有过滤器都是标准的Java BufferedImageOps
,可以直接插入现有程序。GrayscaleFilter
可以转换图像为黑白
答案 4 :(得分:0)
将java.awt.image.ColorConvertOp
与灰色目的地ColorSpace
一起使用非常有效。有一个很好的例子here。