MATLAB 中影象的底片

Ammar Ali 2021年11月29日
MATLAB 中影象的底片

本教程將討論通過在 Matlab 中更改影象中存在的畫素的強度級別來查詢影象的底片。

在 MATLAB 中獲得影象的底片

圖片由包含不同強度級別的畫素組成。例如,一個 200 x 200 的影象意味著水平軸上有 200 個畫素,而垂直軸上只有 200 個畫素。每個畫素由強度級別組成。例如,8 點陣圖像由 256 個強度級別組成,從 0 到 256。要獲得影象的底片,我們需要反轉影象的這些值。例如,我們需要將 0 轉換為 256 並將 256 轉換為 0。對影象取負值的公式是最大強度級別 - 畫素值。例如,在 8 點陣圖像的情況下,最大強度級別為 256,因此我們可以從 256 中減去每個畫素值並將該值儲存回特定畫素。在 Matlab 中,我們可以使用 imread() 函式讀取影象檔案並將其儲存到變數中。此函式的演算法是讀取影象並將其儲存在變數中,然後從 256 中減去每個畫素值並將其儲存回原始變數中,並使用函式 imshow() 顯示影象。在輸出中,影象顏色將被反轉。例如,如果顏色為白色,則會轉換為黑色。例如,讓我們在 Matlab 中獲取影象的底片。請參閱下面的程式碼。

OriginalImg = imread('cat.jpg');
NImg = 256 - OriginalImg;
subplot(1,2,1)
imshow(OriginalImg)
title('Original image')
subplot(1,2,2)
imshow(NImg)
title('Negative Image')

輸出:

影象的底片

在上面的輸出中,影象的顏色已經反轉。淺色已轉換為深色,深色已轉換為淺色。在彩色影象的情況下,紅色變為青色,綠色變為洋紅色,藍色變為黃色,反之亦然。在二進位制影象的情況下,零將被替換為一和零替換。我們還可以使用 Matlab 的內建函式 imcomplement() 來查詢影象的底片。函式 imcomplement() 從影象類的最大畫素值中減去畫素值。

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