我是靠谱客的博主 义气樱桃,这篇文章主要介绍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
30import 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复