您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關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,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,1);imshow(f);title('原圖'); subplot(1,2,2);imshow(g);title('調節灰度的圖')
g = imadjust(f,[low_in; high_in],[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,s,[0,1],0.6);%調整灰度圖像的灰度范圍 h = imadjust(f,s,[0,1],6); figure(1); subplot(1,3,1);imshow(f);title('原圖'); subplot(1,3,2);imshow(g);title('gamma = 0.6') subplot(1,3,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,1);imshow(f);title('原圖'); subplot(1,2,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_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA) GAMMA指定描述I和J關系的曲線的形狀,GAMMA小于1意味著I的值在映射到J時變得比原值更大,GAMMA大于1意味著I的值映射后更小。
看完上述內容,你們對matlab中imadjust函數的作用是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。