在 Matlab 中将 RGB 转换为灰度

Ammar Ali 2023年1月30日 2021年7月4日
  1. 在 MATLAB 中不使用任何函数将 RGB 图像转换为灰度图像
  2. 使用 MATLAB 中的 rgb2gray() 函数将 RGB 图像转换为灰度
在 Matlab 中将 RGB 转换为灰度

本教程将讨论如何手动将 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 转换为灰色

在上面的代码中,我们使用了 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');

输出:

使用 rgb2gray 将 RGB 转换为灰色

在上面的代码中,我们使用了 MATLAB 中已经存在的辣椒图像,并使用 rgb2gray() 函数将其转换为灰度。上图中,左图为输入的 RGB 图像,右图为转换后的结果。我们使用 imshowpair() 并排显示图像,以便更好地理解转换。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - MATLAB Image