數位影像處理–長條圖均衡化

來源:互聯網
上載者:User

 

數位影像處理課,老師布置了7道實驗題,要求是語言不限,但不能調用現成演算法,這些題目有點難度,但題目本身基本涵蓋了這門課中所有重要的內容。為了方便學弟和同道中人完成練習,也為了記錄下方便以後回顧經典的演算法,所以我將一題一題分析。

 

Histogram Equalization (test images:
fig1.jpg, fig2.jpg)

(a)
Write a computer program for computing the histogram of an image.

(b)
Implement the histogram equalization technique.

(c) Your program must be
general to allow any gray-level image as its input.

As
a minimum, your report should include the original image, a plot of its
histogram, a plot of the histogram-equalization, transformation function, the
enhanced image, and a plot of its histogram. 


背景

長條圖均衡化通常用來增加許多映像的全域對比,尤其是當映像的有用資料的對比相當接近的時候。通過這種方法,亮度可以更好地在長條圖上分布。這樣就可以用於增強局部的對比而不影響整體的對比,長條圖均衡化通過有效地擴充常用的亮度來實現這種功能。

 

這種方法對於背景和前景都太亮或者太暗的映像非常有用,這種方法尤其是可以帶來X光映像中更好的骨骼結構顯示以及曝光過度或者曝光不足照片中更好的細節。這種方法的一個主要優勢是它是一個相當直觀的技術並且是可逆操作,如果已知均衡化函數,那麼就可以恢複原始的長條圖,並且計算量也不大。這種方法的一個缺點是它對處理的資料不加選擇,它可能會增加背景雜訊的對比並且降低有用訊號的對比。

 

書本中的原理


Matlab實現

sourcePic=imread('fig2.jpg'); %讀取原圖象<br />%以下為了彩色映像<br />%[m,n,o]=size(sourcePic);<br />%grayPic=rgb2gray(sourcePic);<br />grayPic=sourcePic;<br />[m,n]=size(grayPic);<br />subplot(2,2,1);%顯示原圖<br />imshow(grayPic);<br />gp=zeros(1,256); %計算各灰階出現的機率<br />for i=1:256<br />gp(i)=length(find(grayPic==(i-1)))/(m*n);<br />end<br />subplot(2,2,2);%顯示原映像長條圖<br />bar(0:255,gp);<br />title('原映像長條圖');<br />xlabel('灰階值');<br />ylabel('出現機率');<br />newGp=zeros(1,256); %計算新的各灰階出現的機率<br />S1=zeros(1,256);<br />S2=zeros(1,256);<br />tmp=0;<br />for i=1:256<br />tmp=tmp+gp(i);<br />S1(i)=tmp;<br />S2(i)=round(S1(i)*256);<br />end<br />for i=1:256<br />newGp(i)=sum(gp(find(S2==i)));<br />end<br />newGrayPic=grayPic; %填充各像素點新的灰階值<br />for i=1:256<br />newGrayPic(find(grayPic==(i-1)))=S2(i);<br />end<br />subplot(2,2,3);<br />imshow(newGrayPic);<br />subplot(2,2,4);%顯示均衡化後的長條圖<br />bar(0:255,newGp);<br />title('均衡化後的長條圖');<br />xlabel('灰階值');<br />ylabel('出現機率');<br /> 

 

 

效果與示範

fig1.jpg原圖,長條圖均衡化後效果

fig2.jpg原圖,長條圖均衡化後效果

 

體會

長條圖均衡化主要是利用統計的思想建立原映像與新映像灰階值的關係,最終讓映像的灰階變的均衡。從最終的結果來看第二張圖的效果比較好,而第一張圖雖然對比增加了,但與此同時引出了很多椒鹽雜訊。

 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.