這次作業是要對圖片裡RGB三值做統計
一種是PDF(計算0到255的值各出現過多少次)
另一種是CDF(計算0到255出現次數累加
─>後一數值會包括前面所有數值進行加總)
計算PDF
設立一個陣列變數(例:count[i])
當R/G/B值和i相等時就只陣列的值加1
這樣就可以計算出各顏色0~255值出現過幾次
再依照統計出來得數值
把統計結果畫到了Image裡面
因為Image是255*255的大小
所以當統計的值超過255時線條會超出Image外
而為了完整的觀察各數值統計的變化
所以每個統計出來的數值都要將數值變小一點
才可以明顯看到差別
計算CDF
利用PDF計算出來的結果
再把自己的前面所有數值都相加起來
就計算完CDF
和PDF一樣在畫到Image裡的時候會超出外框
所以要畫入Image前要先把計算出來的每一個值都先乘上255在除最後一個值
這樣可以確保最後一個值剛好是255並且使前面的值不超過255
這次作業困難的是要先弄懂PDF和CDF是什麼
還有為什麼一開始畫出來的統計數值會不太有變化
以及如何去調整
在調整的過程中發現不同色彩比例的圖
需要的調整數值也不同
所以寫定調整數值後
不同圖片的統計分佈只能看到大致
要看到完整分佈就需要個別的調整了
程式碼:https://www.dropbox.com/s/mavizh3d5pbh9vj/hw1.cpp?dl=0
沒有留言:
張貼留言