値0〜1の2Dマトリックスから作成されたヒートマップ(いわば)の下に配置したい画像(png)があります。したがって、スポットの強度は、マトリックスの値の大きさによって決まります。
imshow(matrix) を使用できますが、下の画像を完全に描画します。おそらく、マトリックス値が<.05のピクセルを描画しない、またはこれを機能させる他の方法は可能ですか?
値0〜1の2Dマトリックスから作成されたヒートマップ(いわば)の下に配置したい画像(png)があります。したがって、スポットの強度は、マトリックスの値の大きさによって決まります。
imshow(matrix) を使用できますが、下の画像を完全に描画します。おそらく、マトリックス値が<.05のピクセルを描画しない、またはこれを機能させる他の方法は可能ですか?
カラー画像の上にバイナリ ヒートマップを重ねる例を次に示します。
%# some image
I = im2double( imread('peppers.png') );
%# I create here a random mask (gaussian centered in middle of image)
[r,c,~] = size(I);
[X Y] = meshgrid(1:r,1:c);
Z = mvnpdf([X(:) Y(:)], [r c]./2, diag(15.*[r c]));
Z = (Z-min(Z(:)))./range(Z(:));
Z = reshape(Z',[c r])';
%# show image and mask separately
subplot(121), imshow(I)
subplot(122), imshow(Z)
%# show overlayed images
figure, imshow(I), hold on
hImg = imshow(Z); set(hImg, 'AlphaData', 0.6);
%# also we can specify a colormap
colormap hsv
読み込まれた png は 3 次元マトリックスになります。repmat を使用して、2 次元バイナリ マトリックスを 3 次元マトリックスに変換できます。次に、imresize を使用して png と同じサイズになるように、バイナリ マトリックスのサイズを変更します。最後に、imshow(alpha(myPng) + (1-alpha)*(myBinaryMat)) のようなものでブレンドされた 2 つの行列を表示できます。ここで、alpha は 0 と 1 の間のブレンド パラメータです。