210 likes | 400 Views
Computational Photography final project- Histogram Equalization. Student : 沈軒緯 Student ID: 601415127. Outline. 前言 Histogram Equalization Histogram Equalization 簡介 Local Histogram Equalization HE with noise filter Flow chart 執行環境 作業環境 Qt 介紹 介面 說明 應用 Demo 影片 reference. 前言.
E N D
Computational Photography final project-HistogramEqualization Student: 沈軒緯 Student ID: 601415127
Outline • 前言 • HistogramEqualization • HistogramEqualization 簡介 • Local HistogramEqualization • HE with noise filter • Flow chart • 執行環境 • 作業環境 • Qt介紹 • 介面說明 • 應用 • Demo影片 • reference
前言 • Histogram Equalization是(HE)一種用來增強圖片對比度的方法,藉由將原本集中在小範圍的機率函數(PDF)分布到大範圍RGB24就是8bit)來增加圖片的對比度
HistogramEqualization簡介-1 fig(1)為在霧的環境下拍攝之相片(Histogram分佈狹小), fig(2)為fig(1)的灰階Histogram統計結果可得知fig(1)的灰階 數值大多分佈在70至100之間,對比度不高,整張圖片霧濛濛的 個數 Pixle value(PV) fig(1) fig(2)
HistogramEqualization簡介-2 fig(3)為fig(1)經由Histogram Equalization運算後,擴大數值分佈範圍的結果。fig(4)為fig(3)的灰階Histogram統計結果,可看出Pixlevalue的分布範圍變大,圖片的整體對比度增加,圖片變得更明亮 個數 Pixle value(PV) fig(3) fig(4)
LocalHistogramEqualization • HistogramEqualization對於本來整體數值分佈範圍較大的圖形效果較差,如果對整張圖做,也沒辦法處理僅部分增強對比度的case • 對於這種case可以使用Local的方法做HE,即把輸入圖形切成多個小區域,對所有區域或部分區域分別做HE,如此區域內的對比度會比直接對整張圖做更高,缺點是區域間會有接縫
LocalHistogramEqualization 原圖 Global HE Local HE Block10x10 Local HE Block30x30
Noise • 因為HE在運算的時候不會考慮分類資訊,因此如果圖像中有雜訊HE也會增加雜訊的對比度,造成增強圖片對比度的同時連雜訊也一併增強,如右圖 經HE處理 原圖
HE with noise filter • 為了解決這個問題,我使用noise filter來改善HE,先做去除雜訊後再做HE,如此一來在增加對比度的同時不會增強雜訊,在比較median,mean,gaussianfilter後,我選擇效果最好的median filter來去除雜訊,可以看出結果在增強對比度的同時不會增強雜訊,不過相對的細節部分會較不清楚 HE with noise filter HE
作業環境 • Development: • 作業環境- Linux Ubuntu 12.04.3 • 使用的相關工具名稱-qt4 • External library: • Graphical and UI user interface: QT 4.8.2
Introduction to Qt • Useful C++ class library • QtGui (GUI library) • QtMultimedia (Multimedia moulde) • QtNetwork (HTTP, FTP and lower level protocolsupport) • QtOpenGL (OpenGL, OpenGL ES) • QtScript (ECMA standard script engine) • QtWebkit (Web browser engine) • QtXml (XML reader and parser)
How to use Qt • Write your program • qmake • qmake –project • Generate *.pro file (Qt的專案檔) • qmake • Generate Makefile • make • Build your program • 在資料夾內已有”makefile”及執行檔”final_UI” • 輸入”make”即可編譯,或可直接執行”final_UI”
程式執行介面說明 Load image:選擇要處理的圖片(需為bmp檔,大小<1024*1024) 拉霸:調整local HistogramEqualizaton的區間大小用 如值=16:每個區塊大小事local he的每個區塊大小事16x16個pixle Dispalay: 圖片會顯示在這裡 Hist_eq:讀取圖片後按下此鍵會執行 HistogramEqualization 並將結果顯示在Display he_with median filter:執行HE with noise filter 並將結果顯示在Display he_local:讀取圖片並調整區塊大小(藉由拉霸)後按下此鍵會執行 local HistogramEqualization 並將結果顯示在Display
應用 • HistogramEqualization處理拍攝環境不佳導致模糊的圖像(ex:霧,沙塵暴,夜間…等等)非常有用 • 另外HistogramEqualization也可利用在醫學影像的分析方面,尤其是可以帶來X光圖像中更好的骨骼結構顯示以及曝光過度或者曝光不足照片中更好的細節
fig(6) 實際應用範例-提高彩度 • fig(5)為彩色相片,相片整體偏紅棕色,fig(6)為fig(5)經過HistogramEqualization的處理結果,可看出fig(6)的色彩較為真實(ex:膚色) • HistogramEqualization也可用來提高圖片的彩度 fig(5)
實際應用範例-胸腔x光 • 左圖為原始之胸腔X光圖,右圖為經HE處理過的圖,可看出經HE處理後胸腔X光的圖像更清晰,可幫助醫生更準確的判斷病人的病情 HE with noise filter 原圖 HE
實際應用範例-沙塵暴 • 左圖為原始之沙塵暴場景拍攝圖,右圖為經HE處理過的圖,可看出經HE處理後原本因沙塵暴而整張照片呈現一片黃濛濛的圖片變得清晰 經HE處理 原圖
Demo影片 連結 • http://www.youtube.com/watch?v=6dVREBhPMHg
Reference • R. A. Hummel "Image enhancement by histogram transformation", Computer Graphics and Image Processing • Regionally Adaptive Histogram Equalization of the Chest ROBERT H. SHERRIER AND G. A. JOHNSON • http://www.generation5.org/content/2004/histogramEqualization.asp • http://fourier.eng.hmc.edu/e161/lectures/contrast_transform/node2.html