import cv2
import numpy as np
#Canny边缘检测
img = cv2.imread("img1.jpg")
cv2.imwrite("imgCanny1.jpg", cv2.Canny(img, 200, 300))
cv2.imshow("canny",cv2.imread("imgCanny1.jpg"))
cv2.waitKey()
cv2.destroyAllWindows()
Canny检测在opencv上的实现非常简单,就是一行代码的事儿。但是实际的算法步骤还是比较复杂的:
【Opencv实现Canny边缘检测】有五个步骤:
1、使用高斯滤波器对图像进行去噪;
2、计算梯度;
3、在边缘使用非最大抑制(NMS);
4、在检测到的边缘上使用双阈值去除假阳性(false positive);
5、分析所有的边缘及其之间的连接,以保留真正的边缘并消除不明显的边缘。
推荐阅读
- 人脸识别|【人脸识别系列】| 实现自动化妆
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- opencv|图像处理之椒盐噪声的添加与去除
- 人脸识别|【人脸识别系列】| 实现人脸截图保存并编写128维特征向量
- opencv|网络爬虫入门练习
- OpenCV|【OpenCV 完整例程】89. 带阻滤波器的传递函数
- OpenCV|【OpenCV 完整例程】90. 频率域陷波滤波器
- OpenCV|【OpenCV 完整例程】22. 图像添加非中文文字
- OpenCV|【OpenCV 完整例程】91. 高斯噪声、瑞利噪声、爱尔兰噪声
- opencv|python+opencv车道线,实线虚线的检测