我正在尝试在计算机视觉中实现算法,我想在一组图片上尝试它。图片都是彩色的,但我不想处理。我想将它们转换为灰度,足以测试算法。
如何将彩色图像转换为灰度?
我正在阅读:
x = imread('bla.jpg');
我可以添加任何参数imread
将其作为灰度读取吗?在阅读之后,有什么方法可以将x
更改为灰度吗?
答案 0 :(得分:25)
使用rgb2gray
去除色调和饱和度(即转换为灰度)。 Documentation
答案 1 :(得分:8)
x = imread('bla.jpg');
k = rgb2gray(x);
figure(1),imshow(k);
答案 2 :(得分:2)
我找到了这个链接: http://blogs.mathworks.com/steve/2007/07/20/imoverlay-and-imagesc/ 它有效。
它说:
im=imread('your image');
m=mat2gray(im);
in=gray2ind(m,256);
rgb=ind2rgb(in,hot(256));
imshow(rgb);
答案 3 :(得分:1)
您可以使用此代码:
im=imread('your image');
k=rgb2gray(im);
imshow(k);
使用matlab
答案 4 :(得分:0)
I=imread('yourimage.jpg');
p=rgb2gray(I)
答案 5 :(得分:0)
使用imread()
和rgb2gray()
功能获取灰度图像。
示例:
I = imread('input.jpg');
J = rgb2gray(I);
figure, imshow(I), figure, imshow(J);
如果您有彩色地图图片,则必须执行以下操作:
[X,map] = imread('input.tif');
gm = rgb2gray(map);
imshow(X,gm);
您自己实现的rgb2gray
算法是:
f(R,G,B) = (0.2989 * R) + (0.5870 * G) + (0.1140 * B)
答案 6 :(得分:0)