在 Matlab 中將 RGB 轉換為灰度

Ammar Ali 2024年2月15日
  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() 並排顯示影象,以便更好地理解轉換。

作者: 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