如何在 MATLAB 中使用直方圖均衡化進行對比度增強?
在數字影像處理中,透過改變顏色強度來提高數字影像視覺質量和清晰度的過程被稱為“對比度增強”。
對比度增強是攝影、遙感成像、醫學成像等各個領域中一項重要的影像處理任務。我們可以使用各種工具來執行影像的對比度增強。在本教程中,我將解釋在 MATLAB 中使用直方圖均衡化進行對比度增強的方法。
什麼是對比度增強?
在數字影像處理中,對比度增強是一項基本的影像處理任務,用於提高影像的視覺質量,使其更具視覺吸引力。
數字影像的對比度增強是透過改變影像不同顏色通道的畫素強度來實現的。它使影像更清晰、更詳細。
對比度增強是醫學成像、攝影、顯微成像、計算機視覺等各個領域的重要過程之一。
我們可以使用 MATLAB 執行影像的對比度增強。MATLAB 提供了各種有效的對比度增強技術,例如直方圖均衡化、對比度拉伸、對比度受限自適應直方圖均衡化、自適應對比度增強等。
在本教程中,我們將學習如何在 MATLAB 中使用直方圖均衡化方法進行影像對比度增強。
使用 MATLAB 中的直方圖均衡化進行對比度增強
直方圖均衡化是改變影像中畫素強度值以提高視覺質量的最常用方法之一。我們可以使用直方圖均衡化來增強影像的對比度。
在 MATLAB 中,對比度增強是透過使用名為“histeq”的內建函式來執行的。
以下是使用 MATLAB 中的直方圖均衡化方法進行對比度增強的分步過程。
步驟 (1) − 使用“imread”函式讀取輸入影像。
步驟 (2) − 將輸入影像轉換為灰度以應用直方圖均衡化。為此,請使用“rgb2gray”函式。
步驟 (3) − 使用“histeq”函式對灰度影像進行對比度增強。
步驟 (4) − 使用“imshow”函式顯示增強後的影像。
在 MATLAB 中,使用直方圖均衡化進行對比度增強是一個四步過程。
示例
現在讓我們以一個示例來了解在 MATLAB 中執行使用直方圖均衡化進行對比度增強的程式碼實現。
% MATLAB code to perform contrast enhancement using histogram equalization % Read the input image img = imread('https://tutorialspoint.tw/assets/questions/media/14304-1687425269.jpg'); % Convert the input image to grayscale gray_img = rgb2gray(img); % Perform contrast enhancement using histogram equalization enhanced_img = histeq(gray_img); % Display the input and enhanced images figure; subplot(1, 2, 1); imshow(gray_img); title('Input Image'); subplot(1, 2, 2); imshow(enhanced_img); title('Enhanced Image');
輸出
執行此程式碼時,將產生以下輸出:-

解釋
在此示例中,我們首先使用“imread”函式讀取輸入影像。然後,我們使用“rgb2gray”函式將輸入影像從 RGB 顏色格式轉換為灰度。接下來,我們使用“histeq”函式執行影像的對比度增強。最後,我們使用“imshow”函式顯示輸入影像的灰度版本和增強後的影像。
結論
總之,對比度增強是透過操縱影像中的畫素強度值來提高影像視覺質量的一種方法。我們可以使用 MATLAB 執行影像的對比度增強。MATLAB 提供了幾種方法來完成此任務,最常用的方法是直方圖均衡化。
在本教程中,我解釋了使用 MATLAB 中的直方圖均衡化進行影像對比度增強的分步過程。