我正在尝试在计算机视觉中实现一种算法,我想在一组图片上进行尝试。图片都是彩色的,但我不想处理这个。我想将它们转换为足以测试算法的灰度。
如何将彩色图像转换为灰度图像?
我正在阅读它:
x = imread('bla.jpg');
我可以添加任何论据来将imread
其读取为灰度吗?有什么方法可以让我看完后x
改成灰度?
我正在尝试在计算机视觉中实现一种算法,我想在一组图片上进行尝试。图片都是彩色的,但我不想处理这个。我想将它们转换为足以测试算法的灰度。
如何将彩色图像转换为灰度图像?
我正在阅读它:
x = imread('bla.jpg');
我可以添加任何论据来将imread
其读取为灰度吗?有什么方法可以让我看完后x
改成灰度?
用于rgb2gray
去除色调和饱和度(即转换为灰度)。 文档
x = imread('bla.jpg');
k = rgb2gray(x);
figure(1),imshow(k);
我找到了这个链接: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);
您可以使用此代码:
im=imread('your image');
k=rgb2gray(im);
imshow(k);
使用matlab
I=imread('yourimage.jpg');
p=rgb2gray(I)
使用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)
彩色图像
灰度图像
bg = imread('C:\Users\Ali Sahzil\Desktop\Media.png'); // Add your image
redChannel = bg(:, :, 1);
greenChannel = bg(:, :, 2);
blueChannel = bg(:, :, 3);
grayImage = .299*double(redChannel) + .587*double(greenChannel)
+.114*double(blueChannel);
imshow(grayImage);