如何使用OpenCV在图像上应用零交叉

时间:2019-03-23 08:05:11

标签: python opencv

我正在尝试使用高斯拉普拉斯算子的零交叉来找到边。如何在图像中找到零交叉点?

我尝试使用腐蚀和扩张,但无济于事。

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))

0 个答案:

没有答案