0

MATLAB では:

スクリーンキャプチャを適用して、米国の画像を作成しています

グーグルアース。ただし、画像をMATLABに読み込んでプロットすると

その上のデータは、画像がすべて白くなり、赤、緑、または青がなくなります。

注: 追加のデータをプロットしなくても正しく表示されます

imshow を使用します。

私のコードは次のとおりです。

I = double(imread('USA.png'));
img = flipdim(I,1)
B = IMPRESIZE(img,[500,500],'nearest')
colormap HSV;
hold on;
....Plot Data....

画像をインポートして、その上に散布データをプロットする方法はありますか?

4

1 に答える 1

1

あなたの問題は、あなたのイメージを二重にキャストすることから来ていると思います。

イメージが uint8 形式の場合、MATLAB はカラー スケールの範囲として 0 ~ 255 を使用します。イメージが double 形式の場合、MATLAB はカラー スケールの範囲として 0 ~ 1 を使用します。その結果、イメージを double にキャストすると、MATLAB はこの後者の範囲を使用します。つまり、R、G、または B の値が 1 より大きい色は、表示目的で 1 になります (たとえば、基本的にすべてのピクセルが白として表示されます)。 )

つまり、コードの最初の行を (キャストなし) に変更します。

I = imread('USA.png');

または、画像を double としてキャストする必要がある場合は、次の関数を使用して、データの範囲に基づいてカラー スケールを自動スケーリングできます。

imagesc(img)
于 2012-09-04T05:04:47.837 に答える