7.4.2 拉普拉斯边缘检测
    基于一阶导数的soble效果并不理想,人们在其基础上提出了取对应的二阶导数为0的点为边缘。拉普拉斯边缘检测正是利用了这一原理,如图7-19所示。
    图7-19 拉普拉斯边缘检测示意图
    拉普拉斯边缘检测在opencv中的函数定义如下:
    laplacian(src, ddepth, ksize=none, scale=none, delta=none, bordertype=none)
    其中主要的参数为:
    ? ddepth:深度类型。
    ? ksize:卷积核大小。
    如图7-20所示,一共有三个子图,子图a是原始图像,子图b使用了soble算法,子图c使用了拉普拉斯算法。
    img=cv2.imread("../picture/smallpig.jpeg")
    gray_img=cv2.cvtcolor(img, cv2.color_rgb2gray)
    #拉普拉斯边缘检测
    lap = cv2.laplacian(gray_img,cv2.cv_64f)#拉普拉斯边缘检测
    lap = np.uint8(np.absolute(lap))##对lap去绝对值
    #对二值图像进行反转,黑白颠倒
    lap=cv2.bitwise_not(lap)
    #sobel边缘检测
    sobel = cv2.sobel(gray_img,cv2.cv_64f,0,1)
    #对二值图像进行反转,黑白颠倒
    sobel=cv2.bitwise_not(sobel)
    图7-20 拉普拉斯边缘检测示例
    相对soble,拉普拉斯对边缘的识别效果更好,但是拉普拉斯对噪声敏感,会产生双边效果,不能检测出边的方向,通常不直接用于边的检测,只起辅助的角色。

章节目录

智能系统与技术丛书·AI安全之对抗样本入门所有内容均来自互联网,一曲书屋只为原作者兜哥的小说进行宣传。欢迎各位书友支持兜哥并收藏智能系统与技术丛书·AI安全之对抗样本入门最新章节