在 Matlab 中将 RGB 转换为灰度
Ammar Ali
2024年2月15日
本教程将讨论如何手动将 RGB 图像转换为灰度并使用 MATLAB 中的 rgb2gray()
函数。
在 MATLAB 中不使用任何函数将 RGB 图像转换为灰度图像
你可以将 RGB 图像转换为灰度图像,而无需使用 MATLAB 中的任何函数。MATLAB 读取图像并返回一个包含 0 到 255 值的矩阵,这些值实际上是图像中每个像素的颜色。你只需要将颜色转换为灰色。例如,让我们在不使用 MATLAB 中的任何函数的情况下读取 RGB 图像并将其转换为灰度。请参考下面的代码。
input_image = imread('peppers.png');
input_image = im2double(input_image);
gray_image = .299*input_image(:,:,1) + .587*input_image(:,:,2) + .114*input_image(:,:,3);
imshowpair(input_image,gray_image,'montage');
输出:
在上面的代码中,我们使用了 MATLAB 中已经存在的辣椒图像,并在不使用任何函数的情况下将其转换为灰度。上图中,左图为输入的 RGB 图像,右图为转换后的结果。我们使用 imshowpair()
并排显示图像,以便更好地理解转换。
使用 MATLAB 中的 rgb2gray()
函数将 RGB 图像转换为灰度
你可以使用 MATLAB 中的 rgb2gray()
函数将 RGB 图像转换为灰度图像。例如,让我们读取 RGB 图像并使用 MATLAB 中的 rgb2gray()
函数将其转换为灰度。请参考下面的代码。
input_image = imread('peppers.png');
gray_image = rgb2gray(input_image);
imshowpair(input_image,gray_image,'montage');
输出:
在上面的代码中,我们使用了 MATLAB 中已经存在的辣椒图像,并使用 rgb2gray()
函数将其转换为灰度。上图中,左图为输入的 RGB 图像,右图为转换后的结果。我们使用 imshowpair()
并排显示图像,以便更好地理解转换。
作者: Ammar Ali