我在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'函數的限制 –