在 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