這次的作業是把一張圖做RGB值的統計並用直方圖顯示出來,實作方式為利用一個二維陣列和選擇Channel的方式去記錄RGB個別的值。這次主要卡在的地方是不知道要如何在圖片上畫出一段特定長度的線和畫出有顏色的線。一開始有自己的想法,想把一個R值的統計結果放在一個二維陣列,直接顯示到圖片上,不過這麼一來就要使用三個二維陣列去顯示,會很佔記憶體空間。後來老師公佈程式碼和同學的參考範例,知道了可以使用MoveTo和LineTo畫線的長度,還有使用Image2->Canvas->Pen->Color去畫線的顏色。實作結果如下:
原圖↓

R的直方圖統計結果圖↓

G的直方圖統計結果圖↓

B的直方圖統計結果圖↓

加上參考老師所寫的範例,可以調整顯示結果的比例,調整成更清楚的圖形分佈,而直方圖下方的拉吧範圍為0~255,可以自己隨意拉動,且依據拉到的位置顯示出該位置數值的像素數。
沒有留言:
張貼留言