MATLAB 中影象的底片
Ammar Ali
2021年11月29日
本教程將討論通過在 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