0

以下のリンクに示すように、2 つのプロットを重ね合わせたいと考えています。

ここに画像の説明を入力

入力は左側の 2 つの画像で、出力は右側の画像です。使用したコードは次のとおりです。

reference = imread('ref_foam.png');
figure, imshow(reference);
hold on;
h = imshow(data,[]);
hold off
colormap jet;
alphamap = zeros(size(reference,1),size(reference,2));
for i = 0:size(data,1)-1
    for j = 0:size(data,2)-1
        if(~(data(i+1,j+1) == 0))
             alphamap(i+1,j+1) = 0.75;
        end            
    end
end
set(h, 'AlphaData', alphamap);

データ配列にゼロがある場合は常に、その透明度をゼロに設定するか、透明度を 0.75 に設定します。

さて、私の質問は次のとおりです。カラーマップをデータ配列のみに適用するにはどうすればよいですか? この例では機能しますが、「参照」をグレースケールに変換すると、カラーマップもそれに適用されます。カラーマップの入力は軸ハンドルですが、トップ (データ) 配列にのみ適用されるように画像のハンドル (h) を入力する方法はありますか? また、カラーバーも実装したいと思います。カラーバーをデータ配列にのみ適用する方法はありますか? ありがとう。

4

1 に答える 1

0

このsubimageコマンドを使用すると、同じ Figure に異なるカラーマップを使用してイメージを作成できます。

スクリプトのように作成および変更したら、軸の位置を互いの上に設定して画像を重ねます。

于 2012-08-14T18:27:48.040 に答える