我正在对灰度图像执行操作,并且这些操作的结果图像具有与输入图像相同的扩展名。例如,如果输入图像为.jpg
或.png
,则输出图像分别为.jpg
或.png
。
我将图像转换为灰度,如下所示:
ImgProc.cvtColor(mat, grayscale, ImgProc.COLOR_BGR2GRAY),
我正在使用以下方式检查频道数:
.channels()
问题是,当我知道图像包含多少个通道时,despit它是一个灰度图像,我总是收到通道数= 3 !!
请告诉我为什么会发生这种情况答案 0 :(得分:2)
深度(或更好的颜色深度)是用于表示颜色值的位数。颜色深度为8通常意味着每通道8位(因此您有256个颜色值 - 或更好:每个通道的灰度阴影 - 从0到255)和3个通道意味着一个像素值由3 * 8 =组成24位。
然而,这也取决于命名法。通常你会说
"每个通道的颜色深度为8位"
但你也可以说
"图像的颜色深度为32位"
然后表示每个RGBA通道8位或
"图像的颜色深度为24位"
表示每个R,G和B通道的8位。