OpenCV学习笔记14-Canny边缘检测

Canny边缘检测函数:

cv2.Canny(image, minVal, maxVal[,edges[,apertureSize[,L2gradient]]])

其中:

  • image:输入图像;
  • minVal:最小阈值;
  • maxVal:最大阈值;
  • apertureSize:计算图像梯度的Sobel卷积核的大小,默认值为 3;
  • L2gradient:用来设定求梯度大小的方程,默认False。

注:两个阈值minVal 和 maxVal的作用是确定哪些边界是真正的边界。当图像的灰度梯度高于 maxVal 时被认为是真的边界,低于 minVal 的边界会被抛弃。如果介于两者之间的话,就要看这个点是否与某个被确定为真正的边界点相连,如果是就认为它也是边界点,如果不是就抛弃。


import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('1.png',0)
edges = cv2.Canny(img, 100, 200)  #边缘检测

plt.subplot(121), plt.imshow(img, cmap='gray'), plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, cmap='gray'), plt.title('Edge')
plt.xticks([]), plt.yticks([])

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这里写图片描述

阅读更多
个人分类: opencv
上一篇python使用matplotlib:subplot绘制多个子图
下一篇Python--matplotlib绘图可视化知识点整理
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭