2014年3月24日 星期一

HW3 直方圖均化以及邊緣偵測 (Image Enhancement Using Histogram Equalization & Edge detection)

直方圖均化Histogram Equalization
 我們這次可以使用openCV所提供的function來完成H.E,也可以自己寫function來implement出  同樣  的效果,主要的數學公式如下 : 

上述公式中,rk是原始分布的隨機變數r的第k種灰階,nk是第k種灰階的像素數,n是整張影像  的像素數。
上述公式中,L為256,此為(所有灰階的總和數*255)/n,最後再取四捨五入後的值。

 Follow以上的數學運算式,我們就能實做出H.E一樣的效果 !


均勻分布圖 : 
程式實作如下 : 

(左)圖為Source Image,(右)圖為Equalized Image
Histogram comparison :

(左)圖為Source Image 的直方圖,(右)圖為Equalized Image 的直方圖

邊緣偵測 Sobel EdgeDection 
Sobel 的方法就是算出影像的垂直梯度(gradient)與水平梯度兩者取絕對值相加即可,用來加深邊緣的顏色。
影像 與上述兩個kernel作convolution得到


結果如下 : 
                       
程式實作如下 : 

(左)圖為Source Image,(右)圖為EdgeDection Image

結論 : 
這次的作業要我們做的事情,雖然用openCV內建的function就能輕鬆搞定,但是若直接用反而不清楚實際的色值如何運用,透過已知的數學公式,照著式子一步一步做,得到跟內建的結果一樣,也對H.E和edge dection更加了解 !







沒有留言:

張貼留言