1

ボートという名前の画像を .mat ファイル (Boat.mat) に保存しています。load('Boat.mat') 入力imshow(boat)すると、空白のボックスが表示されます。でしか画像を見ることができませんimshow(boat,[0 255])。使用するimhist(boat)と、再び空のボックスが表示されます。ヒストグラムを表示するにはどうすればよいですか。ヒストグラムを見る必要があります。またhisteq(boat)、ヒストグラムの均等化には使用できません。

どんな助けでも大歓迎です。ありがとう

Boat.mat ファイルへのリンクは次のとおりです http://www.engr.colostate.edu/ECE513/SP11/Boat.mat

4

2 に答える 2

5

デフォルトでimshowは、 は 0 から 1 の間の値を持つ浮動小数点画像を想定しています。これが、画像 (0 から 255 の値を持つ) が完全に白く見える理由です。すべての値が 1 より大きいためですimshow。値を別の方法でスケーリングしますが、最初に画像を再スケーリングし、そのままにしておくとおそらく簡単です。

boatDbl = boat / 255;

figure;
imshow(boatDbl);

figure;
imhist(boatDbl);

編集: Shai が以下で指摘したように、これが発生するのはimshow、他の人が行列のデータ型に基づいて値の範囲を予測するためです - あなたのboat行列は aであるためdouble、彼らは範囲 0 から 1 を想定しています。したがって、代替の修正は、行列を変換することです0 から 255 の範囲を想定するタイプintegerに:imshow

boat = uint8(boat);
于 2013-04-14T11:51:48.360 に答える