2011年1月7日 星期五

HW2

這次的作業是要將一張圖片的所有像素點作數據化的統計,再分別對RGB三原色的出現頻率加以統整做成統計圖,首先須利用個2維陣列將RGB三個顏色的數值,從0~255分別做計數的動作,
因所有掃過的像素點都均為此三原色不同數值的搭配,將這些像素點的三原色直切割出來分別存放,再利用另一個2維陣列用來計數三原色的像素值0~255分別的出現次數,如此再分別除上總像素點值即可求出三原色的出現頻率, 一開始我本來僅是想單純的將所有掃到的點像素值存起來,再用個陣列計數最後在除上總像素點值,但這樣無法將像素點中的RGB三色做分割,雖然仍有方法可以做分割,但這樣的做法會使得陣列過大在執行的時候會過慢,畢竟一張圖的總像素點數量是非常龐大的,所以這時候老師提供的方法就顯得方便許多,程式碼也更加的簡潔,
再來便是均化了,在均化上倒是沒甚麼特別的大問題,大抵上一個公式即可搞定,值得注意的是調整顏色的地方是在寫長條圖的時候便以儲存下來,在均化的程式碼中就僅僅是將其值顯現出來罷了,一開始在做的時候不管怎麼修改均化後結果總是黑色,後來問同學才發現原來我將像素點均化的程式根本就沒有寫上去,所以理所當然甚麼東西都不會出現,在修改過後果然也跑出我想要的結果,不過在均化上的表現卻有些不盡理想,怎麼說呢?當我在嘗試使用顏色較為鮮豔的影像時,我發現均化後的顏色非常容易跑掉,感覺出來的圖就變得有些詭異,或許是使用的像素解析度過高的關係,在他判斷每個像素值的大小時去特意凸顯顏色較深的數值,但是由於影像中不同大小的色素點過於集中在一個範圍,因此他在各自顯像的時候影像就會變得有些奇怪,不過我認為依然有得到均化的效果,畢竟均化即是凸顯顏色較深的數值,只能說為了達到均化的目標所以影像上就不能太奢求甚麼了,因此在挑照片上盡量選擇單一色系較多的圖片顯像出來會比較好看。
影像的直方圖以及均化後的結果



沒有留言:

張貼留言