我使用的,什麼是在http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm描述的組合http://wwwmath.tau.ac.il/~turkel/notes/Maini.pdf縮放拉普拉斯檢測
簡而言之利用高斯的拉普拉斯邊緣檢測,我用這個公式計算:
for(int i = -(kernelSize/2); i<=(kernelSize/2); i++)
{
for(int j = -(kernelSize/2); j<=(kernelSize/2); j++)
{
double L_xy = -1/(Math.PI * Math.pow(sigma,4))*(1 - ((Math.pow(i,2) + Math.pow(j,2))/(2*Math.pow(sigma,2))))*Math.exp(-((Math.pow(i,2) + Math.pow(j,2))/(2*Math.pow(sigma,2))));
L_xy*=426.3;
}
}
並使用L_xy變量來構建LoG內核。
問題是,當圖像尺寸較大時,應用相同的內核會使濾波器對噪聲更敏感。邊緣清晰度也不相同。
讓我把一個例子這裏...
假設我們已經得到了這一形象:
適馬= 0.9的值,以及5×5矩陣的一個480×內核大小該圖像的264像素版本中,我們得到以下輸出:
然而,如果我們使用上的1920×1080個像素版本此圖像的(相同的西格瑪值和核大小)相同的值,我們得到像這樣:
[這兩個圖像是縮小版本的一個更大的圖像。縮小比例是使用照片編輯器完成的,這意味着圖像中包含的數據不完全相似。但是,至少它們應該非常接近。]
鑑於較大的圖像大約是較小圖像的4倍......我還嘗試通過4倍(西格瑪* = 4)和輸出是......你猜對了,一個黑色的畫布。
請幫助我瞭解如何實現一個LoG邊緣檢測器,即使輸入信號放大或縮小(將給出縮放比例因子),它也能從輸入信號中找到相同的特徵。
謝謝。是的你是對的,這實際上是32位RGB-alpha。所以,你說我應該縮放西格瑪^ 2。你能否澄清一下\ partial \ 2 \ \ partial_ {x_m x_n}這個詞。從我從http://en.wikipedia.org/wiki/Scale_space_implementation瞭解的內容....我只需要擴大高斯內核?多一點解釋會有所幫助。任何鏈接到託尼Lindeberg參考將不勝感激。 – metsburg
是的,你是對的,你只需要調整高斯內核。我修改了我的答案,希望現在更清楚。 – Vaaksiainen