在Matlab中显示图像类型Double

时间:2015-10-19 04:44:21

标签: image matlab image-processing

我在Matlab中有一个图像类型为double。我怎么能imshow呢?感谢。

load('file.mat');
b=d.l{2,1}.a{1,1}; %//b is an image <96x96x4 double>
imshow(b);

1 个答案:

答案 0 :(得分:1)

正如@rayryeng所说,imshow不喜欢4频道图像。因此:

如果您的图片为NxMx3,并且您在评论中输入了拼写错误,请使用imshow(b,[])自动调整imshow功能的限制。

如果您的第4个频道是alpha,则忽略alpha:imshow(b(:,:,1:3),[])

或者,将图像从RGBA转换为RGB中最接近的表示。您可以使用名为alpha blending的内容执行此操作,并且您在此SO帖子中有一个很好的答案(使用其他编程语言):Convert RGBA color to RGB

如果这些都不是你的情况,那么你可能想要提供更多信息。