我有一個 MATLAB 代碼片段,用于subplot在同一圖中生成一些圖。但是,我想surf在subplot(3,3,2), subplot(3,3,5),subplot(3,3,8)彩色而不是灰度中繪制圖 并保持subplot(1,3,1), subplot(3,3,3), subplot(3,3,6),subplot(3,3,9)灰度。我怎樣才能做到這一點?
img = imread('moon.tif');
subplot(1,3,1);
imagesc(img);
colormap(gray);
title('moon.tif');
axis tight; axis equal;
subplot(3,3,2);
sigma = 3;
gaussianfilter = fspecial('gaussian', [90,90], sigma); % typically we would choose to filter width to be six times sigma
surf(gaussianfilter);
title(['Gaussian filter \sigma = ', num2str(sigma)]);
subplot(3,3,3);
img_filtered = conv2(img, gaussianfilter, 'same');
imagesc(img_filtered);
title('Filtered image');
axis tight; axis equal;
subplot(3,3,5);
sigma = 9;
gaussianfilter = fspecial('gaussian', [90,90], sigma);
surf(gaussianfilter);
title(['Gaussian filter \sigma = ', num2str(sigma)]);
subplot(3,3,6);
img_filtered = conv2(img, gaussianfilter, 'same');
imagesc(img_filtered);
title('Filtered image');
axis tight; axis equal;
subplot(3,3,8);
sigma = 15;
gaussianfilter = fspecial('gaussian', [90,90], sigma);
surf(gaussianfilter);
title(['Gaussian filter \sigma = ', num2str(sigma)]);
subplot(3,3,9);
img_filtered = conv2(img, gaussianfilter, 'same');
image(img_filtered);
title('Filtered image');
axis tight; axis equal;
uj5u.com熱心網友回復:
您可以將所需的軸傳遞給colormap函式,并指定要顯示的配色方案(例如,噴漆、灰色等)。軸可以從subplot函式中獲得。
試試這個代碼:
img = imread('moon.tif');
ax1 = subplot(1,3,1);
imagesc(img);
colormap(ax1, gray);
title('moon.tif');
axis tight; axis equal;
ax2 = subplot(3,3,2);
sigma = 3;
gaussianfilter = fspecial('gaussian', [90,90], sigma); % typically we would choose to filter width to be six times sigma
surf(gaussianfilter);
colormap(ax2, jet);
title(['Gaussian filter \sigma = ', num2str(sigma)]);
ax3 = subplot(3,3,3);
img_filtered = conv2(img, gaussianfilter, 'same');
imagesc(img_filtered);
colormap(ax3, gray);
title('Filtered image');
axis tight; axis equal;
ax5 = subplot(3,3,5);
sigma = 9;
gaussianfilter = fspecial('gaussian', [90,90], sigma);
surf(gaussianfilter);
colormap(ax5, jet);
title(['Gaussian filter \sigma = ', num2str(sigma)]);
ax6 = subplot(3,3,6);
img_filtered = conv2(img, gaussianfilter, 'same');
imagesc(img_filtered);
colormap(ax6, gray);
title('Filtered image');
axis tight; axis equal;
ax8 = subplot(3,3,8);
sigma = 15;
gaussianfilter = fspecial('gaussian', [90,90], sigma);
surf(gaussianfilter);
colormap(ax8, jet);
title(['Gaussian filter \sigma = ', num2str(sigma)]);
ax9 = subplot(3,3,9);
img_filtered = conv2(img, gaussianfilter, 'same');
image(img_filtered);
colormap(ax9, gray);
title('Filtered image');
axis tight; axis equal;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/318501.html
上一篇:需要生成指數矩陣
