我试过了
ColorConvert[img, "Grayscale"]
将RGB 转换为灰度。 我想知道mathematica的详细计算..
Gray level= square(R^2+G^2+B^2)?
还是别的什么?
最佳答案
我们可以通过用纯红、绿、蓝组成3像素图像并对其进行转换来获得mathematica使用的精确值:
lvec = First@
ImageData[
ColorConvert[Image[{{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}}],
"GrayScale"]]
{0.299, 0.587, 0.114}
请注意,这些是 http://en.wikipedia.org/wiki/Luma_%28video%29 中的“Rec. 601 luna 系数”
在真实图像上测试:
lena = ExampleData[{"TestImage", "Lena"}];
lenag = ColorConvert[lena, "GrayScale"];
ImageData@ImageApply[ lvec.# & , lena ] == ImageData@lenag
True
关于wolfram-mathematica - Mathematica RGB转灰度的详细计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27812393/