我在Matlab中有一个图像类型为double。我怎么能imshow
呢?感谢。
load('file.mat');
b=d.l{2,1}.a{1,1}; %//b is an image <96x96x4 double>
imshow(b);
答案 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
如果这些都不是你的情况,那么你可能想要提供更多信息。