Python3+OpenCV:图片的边缘检测
- Canny边缘检测的简单概念
- OpenCV函数:
cv2.Canny()
Canny边缘检测方法常被誉为边缘检测的最优方法,下面是代码:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import cv2
import numpy as np
# 1.Canny边缘检测
img = cv2.imread('handwriting.jpg', 0)
edges = cv2.Canny(img, 30, 70)
cv2.imshow('canny', np.hstack((img, edges)))
cv2.waitKey(0)
边缘检测后 运行的效果
Canny推荐的高低阈值比在2:1到3:1之间。
先阈值分割后检测
其实很多情况下,阈值分割后再检测边缘,效果会更好:
代码如下:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import cv2
import numpy as np
img = cv2.imread('handwriting.jpg', 0)
# 2.先阈值,后边缘检测
# 阈值分割(使用到了番外篇讲到的Otsu自动阈值)
_, thres