为什么灰度图像有3个通道

时间:2015-05-27 11:49:22

标签: java opencv image-processing

我正在对灰度图像执行操作,并且这些操作的结果图像具有与输入图像相同的扩展名。例如,如果输入图像为.jpg.png,则输出图像分别为.jpg.png

我将图像转换为灰度,如下所示:

ImgProc.cvtColor(mat, grayscale, ImgProc.COLOR_BGR2GRAY),

我正在使用以下方式检查频道数:

.channels()

问题是,当我知道图像包含多少个通道时,despit它是一个灰度图像,我总是收到通道数= 3 !!

请告诉我为什么会发生这种情况

1 个答案:

答案 0 :(得分:2)

深度(或更好的颜色深度)是用于表示颜色值的位数。颜色深度为8通常意味着每通道8位(因此您有256个颜色值 - 或更好:每个通道的灰度阴影 - 从0到255)和3个通道意味着一个像素值由3 * 8 =组成24位。

然而,这也取决于命名法。通常你会说

"每个通道的颜色深度为8位"

但你也可以说

"图像的颜色深度为32位"

然后表示每个RGBA通道8位或

"图像的颜色深度为24位"

表示每个R,G和B通道的8位。