Python+OpenCV图像处理(第6课---canny边缘检测)

canny边缘检测原理

1、去噪

高斯滤波

2、梯度

sobel算子计算梯度值和梯度方向
在这里插入图片描述
梯度方向一般和边界垂直;梯度方向归为四大类(水平、垂直、对角线)。

3、非极大值抑制

遍历图像,去除所有不是边界的点。实现方法是遍历每个像素,判断每个像素是否是周围具有相同梯度方向的像素点中的最大值,若是就是边界,否则不是边界。
在这里插入图片描述

4、滞后阈值

在这里插入图片描述

Canny函数使用

滞后阈值越小,得到的边界细节信息越多。

# -*- coding: utf-8 -*-

import cv2

img = cv2.imread("C:\\imgs\\lena256.bmp", flags = cv2.IMREAD_UNCHANGED)

canny1 = cv2.Canny(img, 100, 200)
canny2 = cv2.Canny(img, 64, 128)

cv2.imshow("img", img)
cv2.imshow("canny1", canny1)
cv2.imshow("canny2", canny2)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述

特别说明

本文参考网易云课堂《Python+OpenCV图像处理》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值