上圖為彩色原圖
上圖為灰階均化後的影像
心得:灰階均化, 聽起來感覺很難, 不過打起來卻還可以! 只要設幾個陣列就可以把它做出來了! 首先要先設陣列(設為H)存取灰階個個色彩值所出現的次數, 之後再用另一個陣列(設為C)來累積所有色彩值的總次數, 最後再用一個陣列(設為L)把總次數取一個平均值後, 套回原有的圖中! 而彩色的也大同小異, 值方圖只要取色彩值(灰階或R,G,B)的次數, 在用色筆把他們的次數用線條顯示出來皆可!
重點程式碼:
C[0] = h[0];
for(q=1 ; q<256 ; q++)
{
C[q] = C[q-1] + h[q];
}
int n=imageheight * imagewidth;
for(q=0 ; q<256 ; q++)
{
L[q] = (Byte)((C[q]*255 /n )+ 0.5);
}
for(q=1 ; q<256 ; q++)
{
C[q] = C[q-1] + h[q];
}
int n=imageheight * imagewidth;
for(q=0 ; q<256 ; q++)
{
L[q] = (Byte)((C[q]*255 /n )+ 0.5);
}
沒有留言:
張貼留言