Image 用MATLAB将三幅灰度图像合成RGB
我有三个灰度图像,其中每个图像代表16位分辨率RGB图像的一个通道。我想把它们转换成一张RGB图像。我尝试了Image 用MATLAB将三幅灰度图像合成RGB,image,matlab,Image,Matlab,我有三个灰度图像,其中每个图像代表16位分辨率RGB图像的一个通道。我想把它们转换成一张RGB图像。我尝试了cat和ind2rgb,但它不起作用。我们应该在使用ind2rgb之前为灰度图像编制索引吗?还有别的办法吗 谢谢假设您有三个R,G,B类型的int16。如果你尝试 RGB = cat(3,R,G,B); imshow(RGB) 将投诉:RGB图像必须是uint8、uint16、单或双。。事实上,如果您查看文档: truecolor图像可以是uint8、uint16、单色或双色。索引 映像
cat
和ind2rgb
,但它不起作用。我们应该在使用ind2rgb
之前为灰度图像编制索引吗?还有别的办法吗
谢谢假设您有三个
R
,G
,B
类型的int16
。如果你尝试
RGB = cat(3,R,G,B);
imshow(RGB)
将投诉:RGB图像必须是uint8、uint16、单或双。
。事实上,如果您查看文档:
truecolor图像可以是uint8、uint16、单色或双色。索引
映像可以是逻辑映像、uint8映像、单映像或双映像。灰度图像可以
逻辑、uint8、int16、uint16、单或双。二值图像
必须是逻辑类
因此,如果您将三个int16
灰度图像连接起来,并希望使用IMSHOW,则必须将生成的truecolor图像转换为其支持的内容:
imshow( im2double(RGB) )
假设您有三个
R
,G
,B
类型为int16
的矩阵。如果你尝试
RGB = cat(3,R,G,B);
imshow(RGB)
将投诉:RGB图像必须是uint8、uint16、单或双。
。事实上,如果您查看文档:
truecolor图像可以是uint8、uint16、单色或双色。索引
映像可以是逻辑映像、uint8映像、单映像或双映像。灰度图像可以
逻辑、uint8、int16、uint16、单或双。二值图像
必须是逻辑类
因此,如果您将三个int16
灰度图像连接起来,并希望使用IMSHOW,则必须将生成的truecolor图像转换为其支持的内容:
imshow( im2double(RGB) )
你能发布你尝试过的代码吗