0
我想實現拉普拉斯值,這是我的內核:西格瑪和偏差0
0 1 0
1 -4 1
0 1 0
我只顯示相關的代碼,我有一個3x3的陣列Pixel
存儲的相鄰像素值
Pixel[i][j].val[k]
分別表示k=0,1,2
的值爲RBG
。
long double kernel[3][3],mean=0,nTemp=0,c,sum=0,n=0,s=0,d=0;
for (row = 1; row < rows - 2; row++)
{
for (col = 1; col < cols - 2; col++)
{
nTemp = 0.0;
for (i=0 ; i < 3; i++)
{
for (j=0 ; j < 3; j++)
{
c = (Pixel[i][j].val[0]+Pixel[i][j].val[1]+Pixel[i][j].val[2])/3;
nTemp += (double)c * kernel[i][j];
}
}
sum += nTemp;
n++;
}
}
for (row = 1; row < rows - 2; row++)
{
for (col = 1; col < cols - 2; col++)
{
nTemp = 0.0;
for (i=0 ; i < 3; i++)
{
for (j=0 ; j < 3; j++)
{
c = (Pixel[i][j].val[0]+Pixel[i][j].val[1]+Pixel[i][j].val[2])/3;
nTemp += (double)c * kernel[i][j];
}
}
s = (mean - nTemp);
d += (s * s);
}
}
// PROBLEM IS HERE SIGMA (s) and Deviation (d) are always 0,
我得到一個完全變黑的圖像,請告訴我我哪裏出錯了?
Y ....剛剛意識到..arrghh ...給我幾分鐘...謝謝 –
Y固定...非常感謝丹尼爾再次輸入.. –