直方圖均衡化與直方圖規定化的MATLAB實現


@

1.直方圖均衡化

對圖像進行非線性拉伸,重新分配圖像像元值,使一定灰度范圍內像元值的數量大致相等就是直方圖的均衡化。原來直方圖中間的峰頂部分對比度得到增強,而兩側的谷底部分對比度降低,輸出圖像的直方圖是一個較平的分段直方圖:如果輸出數據分段值較小,會產生粗略的分類的視覺效果。
在MATLAB中,histeq函數用於直方圖的均衡化。
實現代碼如下

clear
close all
clc
I=imread('peppers.png');
subplot(221)
I=rgb2gray(I);
imshow(I)
title('原始圖像')
subplot(222)
imhist(I)
title('原始圖像直方圖')
I1=histeq(I);
subplot(223)
imshow(I1)
title('圖像均衡化')
subplot(224)
imhist(I)
title('直方圖均衡化')

在這里插入圖片描述
從MATLAB2007a開始,提供了一個新的函數adapthisteq,該函數限定對比度適應性直方圖均衡化,它先對圖像的局部塊進行直方圖均衡化,然后利用雙線性插值方法把各個小塊拼接起來,以消除局部造成的邊界。代碼如下:

clear
close all
clc
A=imread('cell.tif');
subplot(131)
imshow(A)
title('原始圖像')
B=histeq(A);
subplot(132)
imshow(B)
title('histeq函數作用效果')
C=adapthisteq(A);
subplot(133)
imshow(C);
title('adapthisteq函數作用效果');

在這里插入圖片描述

2.直方圖規定化

所謂直方圖規定化,就是通過一個灰度映像函數,將原灰度直方圖改造成所希望的直方圖。所以直方圖修正的關鍵就是灰度映像函數。直方圖規定化是用於產生處理后有特殊直方圖圖像的方法。令Pr(V)和Pz(Z)分別為原始圖像和期望圖像的灰度概率密度函數。對原始圖像和期望圖像均做直方圖均衡化處理,應有
在這里插入圖片描述
由於都是作直方圖均衡化處理,所以處理后的原圖像的灰度概率密度函數Ps(S)及理想圖像的灰度概率密度函數Pv(V)是相等的。因此,可以用變換后的原始圖像灰度級S代替上式中的V,即
在這里插入圖片描述
利用此式可以從原始圖像得到希望的圖像灰度級。對離散圖像有
在這里插入圖片描述
綜上所述,數字圖像的直方圖規定化算法如下:
(1)將圖像進行直方圖均衡化處理,求出原圖像中每一個灰度級ri所對應的變換函數Si;
(2)對給定直方圖做類似計算,得到理想圖像中每一個灰度級Zi所對應的函數Vi;
(3)找出Vi≈Si的點對,並映射到Zi;
(4)求出Pi(Zi);
代碼如下:

clear
close all
clc
I=imread('tire.tif');
subplot(221)
imshow(I);
title('原始圖像')
hgram=50:2:250;%規定化函數
J=histeq(I,hgram);
subplot(222)
imshow(J)
title('圖像規定化')
subplot(223)
imhist(I,64)
title('原始圖像直方圖')
subplot(224)
imhist(J,64)
title('規定化后直方圖')

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM