10

我正在尝试在计算机视觉中实现一种算法,我想在一组图片上进行尝试。图片都是彩色的,但我不想处理这个。我想将它们转换为足以测试算法的灰度。

如何将彩色图像转换为灰度图像?

我正在阅读它:

x = imread('bla.jpg');

我可以添加任何论据来将imread其读取为灰度吗?有什么方法可以让我看完x改成灰度?

4

7 回答 7

25

用于rgb2gray去除色调和饱和度(即转换为灰度)。 文档

于 2009-11-22T19:17:46.370 回答
8
x = imread('bla.jpg');
k = rgb2gray(x);
figure(1),imshow(k);
于 2009-12-27T12:05:37.197 回答
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);
于 2011-06-29T07:21:10.167 回答
2

您可以使用此代码:

im=imread('your image');
k=rgb2gray(im);
imshow(k);

使用matlab

于 2012-11-11T19:54:33.853 回答
1

I=imread('yourimage.jpg');
p=rgb2gray(I)
于 2015-10-14T12:45:34.187 回答
1

使用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)
于 2017-06-14T14:34:35.300 回答
0

彩色图像

彩色图像

灰度图像

灰度图像

  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);
于 2021-04-12T16:44:18.443 回答