东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2081|回复: 0
打印 上一主题 下一主题

[学习笔记] 11、图像边缘检测(Sobel与Canny)与关键点检测(cornerHarris边角)

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
跳转到指定楼层
楼主
发表于 2019-10-31 12:07:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
11、图像边缘检测(Sobel与Canny)与关键点检测(cornerHarris边角)


Sobel 边缘检测 寻找图像中在纵横方向上面值变化比较大的区域
from scipy import ndimage
sx = ndimage.sobel(img, axis=0, mode='constant')
sy = ndimage.sobel(img, axis=1, mode='constant')
sob = np.hypot(sx, sy)
步骤:
1、将彩色图像转换为灰度图像
2、计算横向和纵向的梯度
3、计算梯度的大小
4、规范化梯度值


Canny filter 基于 Sobel filter 但更复杂
Canny 边界检测
from skimage.feature import canny
canny_edges = canny(img, sigma=5)
如果不进行高斯滤波去噪:sobel效果不行 canny效果还是可以的
Canny Detector是一种针对快速实时边缘检测而优化的多阶段算法。
该算法的基本目标是检测亮度(大梯度)的急剧变化,
例如从白色到黑色的转换,并在给定一组阈值的情况下将它们定义为边缘。
Canny算法有四个主要阶段:1、降噪 2、求梯度 3、非最大抑制 4、滞后阈值


关键点检测(cornerHarris边角)
Harris Corner Detector 哈里斯边角侦测
检测在所有方向像素值变化都比较大的区域, 这些区域被称为corner, 边角.
import cv2
dst = cv2.cornerHarris(gray,2,3,0.04)


代码示例的ipynb文件在附件,可提供免费下载!


东方老师AI官网:http://www.ai111.vip
有任何问题可联系东方老师微信:dfy_88888
【微信二维码图片】


01.png (84.08 KB, 下载次数: 102)

01.png

02.png (74.25 KB, 下载次数: 102)

02.png

03.png (92.78 KB, 下载次数: 102)

03.png

04.png (230.79 KB, 下载次数: 103)

04.png

05.png (78.44 KB, 下载次数: 100)

05.png

06.png (59.71 KB, 下载次数: 102)

06.png

11、图像边缘检测(Sobel与Canny)与关键点检测(cornerHarris边角).ipynb

402.1 KB, 阅读权限: 10, 下载次数: 1

让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-22 04:39 , Processed in 0.204458 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表