说我有一张图片。如何使用MATLAB
?
感谢。
答案 0 :(得分:1)
我建议使用RGB图像,以便您可以轻松地表示颜色和灰色像素。这是在图像上制作两个红色块的示例:
img = imread('moon.tif');
imgRGB = repmat(img,[1 1 3]);
% get a mask of the pixels you want and set an RGB vector to those pixels...
colorMask = false(size(imgRGB,1),size(imgRGB,2));
colorMask(251:300,151:200,:) = true; % two discontiguous blocks
colorMask(50:100,50:100,:) = true;
redPix = permute([255 0 0],[1 3 2]);
imgRGB(repmat(colorMask,[1 1 3])) = repmat(redPix, numel(find(colorMask)),1);
image
属性另一种很酷的方法是使用图像的AlphaData
属性。见this example on a MathWorks blog。通过使覆盖彩色图像的灰色图像透明,这基本上在图像的某些部分打开或关闭颜色。要使用灰色图像,请执行以下操作:
img = imread('moon.tif');
influenceImg = abs(randn(size(img)));
influenceImg = influenceImg / (2*max(influenceImg(:)));
imshow(img, 'InitialMag', 'fit'); hold on
green = cat(3, zeros(size(img)), ones(size(img)), zeros(size(img)));
h = imshow(green); hold off
set(h, 'AlphaData', influenceImg)
请参阅MathWorks链接中的第二个示例。