如何使用MATLAB將RGB影像轉換為二值影像?


在本文中,我們將探討如何使用MATLAB程式設計將RGB影像轉換為二值影像。

RGB影像是用三種顏色通道(紅色、綠色和藍色)表示的影像。在RGB影像中,三種原色(紅色、綠色和藍色)用於表示影像中的所有顏色。在RGB影像中,影像的每個畫素都由這三種顏色的強度值組合表示。因此,RGB三種顏色的強度值決定了畫素的顏色。

在MATLAB中,RGB影像表示為一個三維陣列,其中每個維度代表RGB顏色通道之一。

另一方面,二值影像是單色影像,每個畫素只有兩個強度值,即0和1。在二值影像中,背景由0表示,前景或目標或感興趣區域由1表示。

在MATLAB中,二值影像表示為一個二維陣列,其中陣列的每個元素可以是0或1。二值影像主要用於數字影像處理應用,如模式識別、影像分割、目標檢測等。

在MATLAB中將RGB影像轉換為二值影像

在MATLAB中,我們可以使用內建函式“imbinarize”將給定的RGB影像轉換為二值影像。

在MATLAB中,RGB影像到二值影像的轉換按照以下步驟執行

步驟(1) - 讀取輸入RGB影像。

步驟(2) - 將輸入RGB影像轉換為灰度影像。

步驟(3) - 指定閾值以執行二值化轉換。此值取決於具體的影像和要求。它介於0和1之間。

步驟(4) - 根據定義的閾值將灰度影像轉換為二值影像。

步驟(5) - 顯示二值影像。

現在,讓我們瞭解如何透過示例程式來實現此演算法,以使用MATLAB將RGB影像轉換為二值影像。

示例

%MATLAB code for converting an RGB image to a binary image
% Read the input RGB image
rgb_img = imread('https://tutorialspoint.tw/assets/questions/media/14304-1687425236.jpg');

% Convert RGB image to grayscale image
gray_img = rgb2gray(rgb_img);

% Specify a threshold value for binarization of the image
t = 0.7; % Adjust according to the image and requirements

% Convert grayscale image to binary image
binary_img = imbinarize(gray_img, t);

% Display the RGB and binary images
subplot(1, 2, 1); imshow(rgb_img); title('RGB Image');
subplot(1, 2, 2); imshow(binary_img); title('Binary Image');

輸出

程式碼解釋

在此MATLAB程式碼中,我們首先使用“imread”函式讀取輸入RGB影像,並將其儲存在變數“rgb_img”中。然後,我們使用“rgb2gray”函式將輸入RGB影像轉換為灰度影像。

之後,我們根據輸入影像和要求選擇閾值“t”,在本例中我們取“t = 0.7”。要獲得更亮的影像,請減小此值。

接下來,我們根據指定的閾值將灰度影像轉換為二值影像。為此,我們使用“imbinarize”函式。

最後,我們使用“imshow”函式顯示輸入RGB影像及其對應的二值影像。

讓我們考慮另一個示例程式,使用MATLAB程式設計將RGB影像轉換為二值影像。

示例

%MATLAB code for converting an RGB image to a binary image
% Read the RGB Image
rgb_img = imread('https://tutorialspoint.tw/assets/questions/media/14304-1687425340.jpg');

% Convert RGB Image to Grayscale Image
gray_img = rgb2gray(rgb_img);

% Specify a Threshold Value
t = 0.7; % Adjust according to the image and requirements

% Convert Gray Scale Image to Binary Image
binary_img = imbinarize(gray_img, t);

% Display the RGB and Binary Images
subplot(1, 2, 1); imshow(rgb_img); title('RGB Image');
subplot(1, 2, 2); imshow(binary_img); title('Binary Image');

輸出

程式碼解釋

此MATLAB程式的實現和執行與MATLAB程式1相同。在此程式碼中,我們在“imread”函式中使用了不同的影像地址進行實驗。

結論

總之,RGB影像是一種彩色影像,其中影像的每個畫素都表示為紅色、綠色和藍色顏色通道的強度值的組合。此顏色空間廣泛用於在螢幕上顯示彩色影像。另一方面,二值影像是一種單色影像,其中影像的每個畫素只有兩個強度值,即0和1。這些二值影像用於數字影像處理任務,如影像分割、模式識別等。

我們可以使用MATLAB函式“imbinarize”將RGB影像轉換為二值影像。本文上述部分解釋並演示了RGB到二值影像轉換的過程。

更新於:2023年8月7日

606 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.