JETの画像とカラー画像を重ねて描画
MATLABでJETの画像とカラー画像を重ねた画像をよく見るのだが,
どう作ればいいのか分からなかったので,調べたついでにメモ.
% 準備 clear; close all; img = im2double(imread('gundam.jpg')); img = imresize(img, 0.1); gimg = rgb2gray(img); h = fspecial('log', 20, 7); simg = filter2(h, gimg); % jetの画像を生成 mask = simg>0.001; ssimg = simg; ssimg(~mask) = 0; jimg=ind2rgb(gray2ind(ssimg/max(ssimg(:)), 256),jet(256)); jimg(repmat(~mask,[1,1,3])) = img(repmat(~mask,[1,1,3])); % 合成して描画 figure(1); imshow(img); hold on; h=imshow(jimg); set(h,'AlphaData', 0.5); hold off; figure(2);imshow(img); figure(3);imagesc(simg); figure(4);imshow(jimg);
結果はこのようになる.
JETをどのように描画したいかは場合によるが,基本は同じ.
アルファブレンディングのところは,
imshow(0.5*img+0.5*jimg);
と書いてもいいかもしれない.