1. 程式人生 > >matlab影象灰度調整——imadjust函式的使用

matlab影象灰度調整——imadjust函式的使用

在MATLAB中,通過函式imadjust()進行影象灰度的調整,該函式呼叫格式如下:

J=imadjust( I )  對影象I進行灰度調整

J=imadjust( I,[low_in;high_in],[low_out;high_out]) [low_in;high_in]為原影象中要變換的灰度範圍,[low_out;high_out]為變換後的灰度範圍

J=imadjust( I,[low_in;high_in],[low_out;high_out],gamma)  該gamma引數為對映的方式,預設值為1,即線性對映。當gamma不等於1時為非線性對映

RGB2=imadjust(RGB1,......)

該函式對彩色影象的RGB1進行調整

1. 通過函式imadjust()調整灰度影象灰度範圍

close all;clear all;clc;
%通過imadjust()函式調整灰度影象的灰度範圍
I=imread('F:/paohui.jpg');
J=imadjust(I,[0.2 0.5],[0 1]);  %調整灰度範圍
figure;
subplot(121),imshow(uint8(I));
subplot(122),imshow(uint8(J));

在程式中通過函式imadjust()調整灰度影象的灰度範圍。原影象灰度範圍為0-255,程式將小於255×0.2的灰度值設定為0,將大於255×0.5的灰度值設定為255。程式執行後輸出如下:


2. 通過函式imadjust()調整灰度影象的亮度

close all;clear all;clc;
%調整灰度影象的灰度和顯示亮度
I=imread('F:/paohui.jpg');
J=imadjust(I,[0.1 0.5],[0 1],0.4);  %調整影象灰度並調高亮度
K=imadjust(I,[0.1 0.5],[0 1],4);  %調整影象灰度並調低亮度
figure,
subplot(131),imshow(uint8(I));
subplot(132),imshow(uint8(J));
subplot(133),imshow(uint8(K));

左側是原圖,中間是調整影象灰度並加強亮色值的輸出後顯示的影象,右側是調整影象灰度並加強暗色值的輸出後顯示的影象。

3. 通過函式imadjust()對彩色影象進行增強

close all;clear all;clc;
%imadjust()對彩色影象進行增強
I=imread('F:/pao1.jpg');
J=imadjust(I,[0.2 0.3 0;0.6 0.7 1],[]);  %imadjust()對RGB影象進行處理
figure,
subplot(121),imshow(uint8(I));
subplot(122),imshow(uint8(J));
左側為原圖,右側為處理後的影象,可以看到影象亮度顯著增強:

4. 通過函式stretchlim()和函式imadjust()進行影象增強

可以採用stretchlim()計算灰度影象的最佳輸入區間,即函式imadjust(I,[low_in;high_in],[low_out;high_out])中的第二個引數,以此來實現影象增強,具體例項如下:

close all;clear all;clc;
%通過函式stretchlim()和imadjust()進行影象增強
I=imread('pout.tif');
M=stretchlim(I);  %獲取最佳區間
J=imadjust(I,M,[]);  %調整灰度範圍
figure,
subplot(121),imshow(uint8(I));
subplot(122);imshow(uint8(J));

5. 用函式imcomplement()進行灰度影象的反轉變換

灰度影象的反轉變換,將灰度值為0的畫素值轉換為255,將灰度值為255的畫素值轉換為0,將灰度值為x的畫素值轉換為255-x。通過灰度反轉,能夠增強暗色背景下的白色或灰色細節資訊。

程式碼如下:

close all;clear all;clc;
%利用函式imcomplement()實現灰度影象灰度反轉
I=imread('F:/pao1.jpg');
J=imcomplement(I);  %實現灰度反轉
figure;
subplot(121),imshow(uint8(I));
subplot(122),imshow(uint8(J));

------願你每一個夢不會一場空------