我是靠谱客的博主 义气樱桃,这篇文章主要介绍opencv_python 边缘检测笔记(Sobel,Scharr,Laplacian,Canny)opencv_python 边缘检测笔记(Sobel,Scharr,Laplacian,Canny),现在分享给大家,希望可以做个参考。

opencv_python 边缘检测笔记(Sobel,Scharr,Laplacian,Canny)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

梯度和方向在这里插入图片描述
非极大值抑制:
当中心点C>(dTmp1 && dTmp2)时,保留
当中心点C<(dTmp1 || dTmp2)时,非极大值抑制
在这里插入图片描述
当A>(C&&B)时,保留
当A<(C||B)时,非极大值抑制
在这里插入图片描述
保留潜在边缘
在这里插入图片描述
代码实现:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import cv2 import numpy as np img = cv2.imread("img/lena.jpg", 0) # canny边缘检测 canny = cv2.Canny(img, 50, 100) # Sobel算子 sobelx = cv2.Sobel(img, cv2.CV_64F, dx=1, dy=0, ksize=3) sobelx = cv2.convertScaleAbs(sobelx) sobely = cv2.Sobel(img, cv2.CV_64F, dx=0, dy=1, ksize=3) sobely = cv2.convertScaleAbs(sobely) sobelxy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0) # Schar算子 scharrx = cv2.Scharr(img, cv2.CV_64F, dx=1, dy=0) scharrx = cv2.convertScaleAbs(scharrx) scharry = cv2.Scharr(img, cv2.CV_64F, dx=0, dy=1) scharry = cv2.convertScaleAbs(scharry) scharrxy = cv2.addWeighted(scharrx, 0.5, scharry, 0.5, 0) # Laplacian算子 laplacian = cv2.Laplacian(img, cv2.CV_64F) laplacian = cv2.convertScaleAbs(laplacian) cv2.imshow('canny', canny) cv2.imshow('Sobel', sobelxy) cv2.imshow('scharr', scharrxy) cv2.imshow('laplacian', laplacian) cv2.waitKey(0) cv2.destroyAllWindows()

在这里插入图片描述

参考视频:

https://www.bilibili.com/video/av61678672/?p=6

最后

以上就是义气樱桃最近收集整理的关于opencv_python 边缘检测笔记(Sobel,Scharr,Laplacian,Canny)opencv_python 边缘检测笔记(Sobel,Scharr,Laplacian,Canny)的全部内容,更多相关opencv_python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(86)

评论列表共有 0 条评论

立即
投稿
返回
顶部