我有一个图,在另一个图上叠加之前,需要进行对比增强。
figure
plot(something);
** contrast enhancement **
hold on
plot(something_else);
hold off
在上面的**对比增强**行中,有没有办法做到这一点?我已经研究过
谢谢。
编辑:示例代码-
figure
plot(ebsd,ebsd.prop.bc);
mtexColorMap black2white
** contrast enhancement **
hold on
plot(ebsd('Forsterite'),ebsd('Forsterite').orientations.angle./degree);
hold off
答案 0 :(得分:0)
从轴中抓取图像(如果是图像!)
im=getimage(rgb2gary(gca)); %it should already be gray, but matlab returns RGB anyway
并自动调整对比度
im2=imadjust(im);
再次设置
imshow(im2,'Parent',gca); % or whatever other method you are using for display.
答案 1 :(得分:0)
我在示例中看到的是,您想要在“微弱”乳白色背景上具有饱和颜色的区域。尝试通过增加饱和度来突出显示此解决方案。
rgb = imread('peppers.png');
% make under-saturated image
hsv = rgb2hsv(rgb);
hsv(:, :, 2) = hsv(:, :, 2)*0.2;
hsv(hsv > 1) = 1; % Limit values
rgbFaint = uint8(255*hsv2rgb(hsv));
% make a mask of area to highlight
mask = false(size(rgb,1),size(rgb,2));
h = fspecial('disk',60) > 0;
mask(200:200+size(h,1)-1,200:200+size(h,2)-1) = h;
mask = repmat(mask,1,1,3);
% create image with highlight area
rgbHighlight = rgbFaint;
rgbHighlight(mask) = rgb(mask);
figure;
imshow(rgbHighlight)