2

重複の可能性:
matlab のマトリックスへの imagesc プロット
マトリックスを新しい範囲にスケーリングする

私は持っている:

I = imread('image.tif');

この時点で、 I(100,100) を実行することで、コード 100,100 でピクセルを簡単に印刷できます
。範囲に合わせて画像にスケーリングします0.5...0.9

imagesc(I,[0.5 0.9]);
colormap('gray');

新しい行列 I を取得する方法はありますか? (ピクセル値は 0.5 から 0.9 まで)

私が行った場合

I  = imagesc(I,[0.5 0.9]);

画像オブジェクトへのハンドラーのみを取得します

4

2 に答える 2

3

次のコマンドを使用して、画像プロットから画像データを取得できます。

A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = get(I, 'CData');

前の質問からの予測:マトリックスを新しい範囲にスケールBすることは、あなたが望んでいないことだと思います。実際Bには、と同じになりAます。これは次の方法で確認できます。

all(all(A==B))

の2番目の引数imagescは、提供されたマトリックスの値をスケーリングするのではなく、カラーマップをスケーリングします。

于 2013-01-16T17:41:40.277 に答える
2

getimage コマンドを試してください:

A = rand(100,100);
I = imagesc(A, [.5 .9]);
B = getimage(gca);
于 2013-01-16T17:43:59.380 に答える