2011年10月28日 星期五

Homework 1: Histogram & Histogram Equalization

1.Form 設計

為了讓圖片及直方圖都能夠以較大的圖片顯示出來, 因此, 在 Form1 上, 放置了 PageControl 元件, 讓影像和直方圖分別放在不同 Page 之中。





在 Histogram Page 中, 直方圖是用一張高 256 寬 768 的圖形來繪製, 寬之所以為 768 的原因是需要顯示紅、綠、藍等三個色彩的直方圖, 每個色彩需要 256 條直線, 一共 256*3=768 條直線繪製完整的直方圖。

直方圖分成兩類, 第一類是原始的直方圖, 第二類是累積直方圖。在 Histogram Page 中, 可以使用 RadioGroup 元件來選定要顯定的直方圖種類。


原始直方圖


累積直方圖

除此, 還可以使用 GroupBox 來選定要顯示的色彩直方圖, 下圖是三個色彩均選擇所呈現出來的直方圖。


原始直方圖


累積直方圖

Up 與 Down 兩個 BitBtn 元件, 則是可以用來放大或是縮小直方圖的垂直線條的長度, 每按一下 Up 按鈕, 就會放大 1.2 倍; 同理, 每按一下 Down 按鈕, 就會縮成原來長度的 0.8 倍。另外, Save Button 元件則是提供將直方圖影像元件儲存成 bmp 檔案。

直方圖 image 元件, 在 OnMouseMove Event 中, 讀取滑鼠位於 image 元件的 X 座標, 將其轉換成色階, 再將該色階的像素個數, 比率, 累積像素總數及其比率等基本資訊用 Label 元件顯示出來。

2. 實驗結果:

直方圖均化處理的目的是將低對比的影像轉化成高對比的影像, 因此特別從以前拍的相片找到一張多年前黃昏後, 在北投貴子坑步道, 突然發現一隻紫嘯鶇, 在急忙拍攝的情況下, 忘了開閃光燈, 所以拍成黑壓壓一片。



整張影像的對比度相當低, 如果不仔細看, 會以為是一張全黑的圖片。



直方圖顯示大部分的色彩都集中在色階最暗的地方。 



經過直方圖均化處理過後的影像, 對比已經被強化了, 步道完全顯示出來了, 紫嘯鶇也看得見了。



直方圖顯示出色彩已經擴展到 0 - 255 之間, 不再集中在暗的區域。

沒有留言:

張貼留言