我很難實現高斯內核的拉普拉斯算子。我有以下代碼,我試圖實現一個sigma = 1.4的9x9內核。內核顯示該鏈接高斯內核的普通拉普拉斯算子
http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm
然而,我的價值觀是什麼像那些在內核上,我想我的功能關閉。幫助將不勝感激。謝謝。
import math
pi= math.pi
log = [[0 for x in range(9)] for x in range(9)]
def genlog(log,size,o):
for i in range(-size/2,size/2):
for j in range(-size/2,size/2):
log[i][j] = -(pi*o**4)**(-1)*(1-(i**2+j**2)/(2*o**2))*math.exp(-(i**2+j**2)/(2*o**2))
def printlog(log,size):
for i in range(-size/2,size/2):
print ' '.join(str(log[i][j]) for j in range(-size/2,size/2))
genlog(log,9,1.4)
printlog(log,9)
我不知道。你的代碼有哪些*錯誤?它以什麼方式不起作用? (順便說一句,你可能想用[numpy的(http://numpy.scipy.org/)做這個。) – Iguananaut
此外,這並沒有真正回答你的問題,因爲它可能是你致力於將此作爲一項很好的練習來實施。但是如果它是用於生產的話,你可能想要考慮這個已經在scipy中的實現:http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.filters.gaussian_laplace.html#scipy。 ndimage.filters.gaussian_laplace – Iguananaut
我需要登錄內核,不需要內建功能 – NamPNQ