我在Matlab中输入了双精度图像。我怎样才能imshow
呢?谢谢。在Matlab中显示图像类型Double
load('file.mat');
b=d.l{2,1}.a{1,1}; %//b is an image <96x96x4 double>
imshow(b);
我在Matlab中输入了双精度图像。我怎样才能imshow
呢?谢谢。在Matlab中显示图像类型Double
load('file.mat');
b=d.l{2,1}.a{1,1}; %//b is an image <96x96x4 double>
imshow(b);
作为@rayryeng表明,imshow
不喜欢4倍信道的图像。因此:
如果您的图像是NxMx3
,并且您在评论中输入了错字,请使用imshow(b,[])
自动调整imshow
函数的限制。
如果你的第4通道是α,则要么忽略阿尔法:imshow(b(:,:,1:3),[])
或者,从RGBA转换你的图像在RGB最接近的表示。你可以做到这一点与一些所谓的alpha blending,你必须在这个SO后一个很好的答案(在另一种编程语言):Convert RGBA color to RGB
如果这些都不是你的话,那么你可能需要提供更多的信息。
'imshow'不支持显示4通道图像。这幅图像应该代表什么? – rayryeng
如果你的图像是'NxMx3',并且你在评论中输入了错字,使用'imshow(b,[])'来自动调整'imshow'函数的限制 –