我正在尝试使用高斯拉普拉斯算子的零交叉来找到边。如何在图像中找到零交叉点?
我尝试使用腐蚀和扩张,但无济于事。
def log(P, std):
gauss = cv2.GaussianBlur(P, (3, 3), std) # apply Gaussian
return cv2.Laplacian(gauss, cv2.CV_16S) # apply Laplacian with negative values
def zero_crossing(P):
minLoG = cv2.morphologyEx(P, cv2.MORPH_ERODE, np.ones((3, 3)))
maxLoG = cv2.morphologyEx(P, cv2.MORPH_DILATE, np.ones((3, 3)))
return np.logical_or(np.logical_and(minLoG < 0, P > 0), np.logical_and(maxLoG > 0, P < 0))