MATLAB:将3通道24位bmp图像转换为1通道16位bmp图像

时间:2014-07-04 10:05:32

标签: image matlab opencv image-processing

我正在尝试对这样的图像进行一些图像处理:

enter image description here

这是一个24位BMP图像。

在MATLAB中,我得到了以下信息:

>> x = imread('1.bmp');  
>> size(x)

ans =

   200   150     3

这表明它有3个通道,分别对应R,G和B.

这意味着每个像素将具有每个8位的三个分量。

我想要做的是使用MATLAB或OpenCV将此图像转换为16位,一个通道(即一种颜色),然后进行一些图像处理。我的图像处理算法正在处理16位图像。

1 个答案:

答案 0 :(得分:3)

由于即使在RGB中图像也是灰度,您只需要其中一个通道即可获得灰度图像。您也可以使用rgb2gray()功能。

然后,您可以使用im2uint16()将其转换为16位无符号整数图像。