1. 程式人生 > 程式設計 >淺析matlab中imadjust函式

淺析matlab中imadjust函式

imadjust

imadjust是一個計算機函式,該函式用於調節灰度影象的亮度或彩色影象的顏色矩陣。在matlab的命令視窗中鍵入: doc imadjust或者help imadjust即可獲得該函式的幫助資訊, 鍵入type imadjust可以檢視函式的原始碼。

函式功能:

imadjust在數字影象處理中用於進行影象的灰度變換(調節灰度影象的亮度或彩色影象的顏色矩陣)。在matlab的命令視窗中鍵入: doc imadjust或者help imadjust即可獲得該函式的幫助資訊, 鍵入type imadjust可以檢視函式的原始碼。

格式:

g = imadjust(f,[low_in; high_in],[low_out; high_out])

將影象I中的亮度值對映到J中的新值。即將low_in至high_in之間的值對映到low_out至high_out之間的值。 low_in 以下與 high_in 以上的值被剪下掉了,即低於low_in的作為low_in進行對映,高於high_in的作為high_in 進行對映。 [low_in; high_in]和[low_out; high_out]都可以使用空矩陣表示,預設為[0,1] 除f外,其他引數都在0到1之間。如果high_out<low_out,則輸出灰度將被反轉。

f = imread('C:\Users\win\Desktop\city-street.jpg'); %調整灰度影象的灰度範圍
g = imadjust(f,[0.2;0.6],[0;1]);
figure(1);
subplot(1,2,1);imshow(f);title('原圖');
subplot(1,2);imshow(g);title('調節灰度的圖')

原影象的灰度範圍在0~255之間,imadjust將小於0.2x255的值設為0,將大於0.6x255的值設為255。

在這裡插入圖片描述

stretchlim()

計算灰度影象的最佳輸入區間。

使用stretchlim()和imadjust()共同對調整灰度影象的灰度範圍

f = imread('C:\Users\win\Desktop\landscape.jpg');
s = stretchlim(f);%計算灰度影象的最佳輸入區間
g = imadjust(f,s,[0,1]);%調整灰度影象的灰度範圍
figure(1);
subplot(1,2);imshow(g);title('調節灰度的圖')

在這裡插入圖片描述

g = imadjust(f,[low_out; high_out],gamma

) 將影象 I 中的亮度值對映到 J 中的新值。其中 gamma指定描述值f和值g關係的曲線形狀。如果gamma小於1,此對映偏重更高數值(明亮)輸出;如果gamma大於1,此對映偏重更低數值(灰暗)輸出;預設gamma為1(線性對映)。

f = imread('C:\Users\win\Desktop\landscape.jpg');
s = stretchlim(f);%計算灰度影象的最佳輸入區間
g = imadjust(f,1],0.6);%調整灰度影象的灰度範圍
h = imadjust(f,6);
figure(1);
subplot(1,3,2);imshow(g);title('gamma = 0.6')
subplot(1,3);imshow(h);title('gamma = 6');

在這裡插入圖片描述

RGB2 = imadjust(RGB1,…) 對 RGB 影象 RGB1 的紅、綠、藍調色盤分別進行調整。隨著顏色矩陣的調整,每一個調色盤都有唯一的對映值。

f = imread('C:\Users\win\Desktop\rabbit.jpg');
g = imadjust(f,[0.2 0.3 0.1;0.6 0.8 0.9],[],0.6);%imadjust對RGB影象進行處理
figure(1);
subplot(1,2);imshow(g);title('處理後的影象')

在這裡插入圖片描述

知識點補充:

MATLAB imadjust函式理解

J = imadjust(I,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT]) [LOW_IN; HIGH_IN]控制原影象I中畫素值要在J中顯示的範圍,LOW_IN表示I要顯示的畫素值最小值,HIGH_IN表示I要顯示的畫素值最大值 [LOW_OUT; HIGH_OUT]表示J中畫素值範圍

舉個例子:

J = imadjust(I,[0.3 0.8],[0.2 0.9]) :表示I顯示在J中的畫素值範圍為0.3到0.8,而且0.3在J中對應0.2,0.8在J中對應0.9。I中小於0.3的也都在J中用0.2表示,高於0.8的畫素在J中都用0.9表示。 J = imadjust(I,[LOW_OUT; HIGH_OUT],GAMMA) GAMMA指定描述I和J關係的曲線的形狀,GAMMA小於1意味著I的值在對映到J時變得比原值更大,GAMMA大於1意味著I的值對映後更小。

總結

到此這篇關於matlab——imadjust函式的文章就介紹到這了,更多相關matlab——imadjust函式內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!