Matlab Imshow command does not show the same binary image with original

I read the image with:
W=double(imread('rose32.bmp'));
Then: imshow(W,[]); or imshow(W);
But, Showed image seems to invert of original image. How Can I solve this problem ? It is a Matlab problem ?

 採用された回答

Walter Roberson
Walter Roberson 2015 年 12 月 14 日
You are treating the image as if it is a binary or RGB image, but it is not: it is an index (pseudocolor) image. You can see this by using
iminfo('rose32.bmp')
and noticing the "ColorType: 'indexed'"
A proper way to display it:
[W,cmap]=imread('rose32.bmp');
image(ind2rgb(W,cmap))

4 件のコメント

Mevlut Dogru
Mevlut Dogru 2015 年 12 月 14 日
編集済み: Mevlut Dogru 2015 年 12 月 14 日
Below code running. But iminfo function do not working at Matlab 2010. Do you know of this reason ?
Walter Roberson
Walter Roberson 2015 年 12 月 14 日
sorry, should be imfinfo()
Mevlut Dogru
Mevlut Dogru 2015 年 12 月 15 日
for Gri Level image imfinfo('Lena.gif') command shows "ColorType: 'indexed'" is it true ?
Walter Roberson
Walter Roberson 2015 年 12 月 15 日
If the Colormap shows up as nonempty then it is a pseudo color image not a grayscale image. .gif are mostly pseudo color.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by