2

次のコード例を使用して、インデックス イメージを背景イメージに重ねます (以下の例では RGB ですが、私の問題では背景は灰色のサクル イメージです)。次に、私の質問は次のとおりです。

  1. オーバーレイ画像の横にカラーバーを表示するには? カラーバーは、背景画像のカラーバーではなく、オーバーレイされたインデックス画像のカラーバーである必要があります。

  2. オーバーレイされたインデックス イメージのカラー マップ範囲を修正するには? グレースケールの背景とオーバーレイされたインデックス画像のペアがいくつかあります(「ジェット」カラーマップを使用)。それらを同じ縮尺で表示する必要があります。使用しようとしましset(iim2,'caxis', [0 1]);たが、Matlab の「イメージ」には「caxis」のプロパティがありません。

助けてください、どうもありがとう!

% Create the background
% This example uses a blend of colors from left to right, converted to a TrueColor image
% Use repmat to replicate the pattern in the matrix
% Use the "jet" colormap to specify the color space
bg = ind2rgb(repmat(1:64,64,1),jet(64));

% Create an image and its corresponding transparency data
% This example uses a random set of pixels to create a TrueColor image
im = rand(100,100,3);
% Make the image fade in from left to right by designing its alphadata
% Use repmat to replicate the pattern in the transparency fading
imAlphaData = repmat(0:1/size(im,2):1-1/size(im,2),size(im,1),1);

% Display the images created in subplots
hf = figure('units','normalized','position',[.2 .2 .6 .6]);
ax1 = subplot(2,3,1);
ibg = image(bg);
axis off
title('Background')
ax2 = subplot(2,3,4);
iim = image(im);
axis off
title('Image without transparency yet')

% Now set up axes that overlay the background with the image
% Notice how the image is resized from specifying the spatial
% coordinates to locate it in the axes.
ax3 = subplot(2,3,[2:3, 5:6]);
ibg2 = image(bg);
axis off
hold on
% Overlay the image, and set the transparency previously calculated
iim2 = image(im,'XData',[30 50],'YData',[10 30]);
set(iim2,'AlphaData',imAlphaData);
title(sprintf('Using transparency while overlaying images:\nresult is multiple image objects.'))
4

0 に答える 0