`

opencv_python学习笔记十六

 
阅读更多

19 canny边缘检测

函数原型:

def Canny(image, #单通道输入图像

threshold1, #第一个阈值

threshold2, #第二个阈值

edges=None, #单通道存储边缘的输出图像

apertureSize=None, #sobel算子内核大小

L2gradient=None)#

1 原理

A 噪声去除 Blur

B 计算图像梯度 sobel算子

C 非极大值抑制 检查每一个像素点的梯度是不是周围具有相同梯度方向的点中

最大的

D 滞后阈值 用两个阈值来确定真正的边界

2 canny边界检测

示例代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/11/21 13:24
# @Author : Retacn
# @Site : 边缘检测
# @File : imageCanny.py
# @Software: PyCharm

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

img=cv2.imread('../test.jpg',0)
edges=cv2.Canny(img,#源图像
100,#阈值一
200)#阈值二

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

plt.show()


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics