边缘检测

图像边缘是指图像中表达物体的周围像素灰度发生阶跃变化的那些像素集合。
图像中两个灰度不同的相邻区域的交界处,必然存在灰度的快速过渡或称为跳变,它们与图像中各区域边缘的位置相对应,边缘蕴含了丰富的内在信息,如方向、阶跃性质、形状等,沿边缘走向的像素变化平缓,而垂直于边缘方向的像素变化剧烈。


图像的大部分信息都集中在边缘部分,边缘确定后实际上就实现了不同区域的分割。

文章目录

  • 边缘检测
  • 边缘检测算子
    • 1、Roberts算子
    • 2、Prewitt算子
    • 3、Sobel算子
    • 4、Canny算子
    • 5、拉普拉斯算子
  • 效果实验
    • 1、 Roberts边缘检测
    • 2、Prewitt 边缘检测
    • 3、Sobel边缘检测
    • 4、Canny边缘检测
    • 5、Laplacian 边缘检测

边缘检测算子

求取边缘往往要借助一些边缘检测算子,这些算子有的是基于一阶导数的算子,有的是二阶微分算子

Roberts算子、Prewitt算子、Sobel算子它们包含x、y两个方向的模板,每种模板只对相应的方向敏感,对该方向上的方向有明显的输出,而对其他方向的变化响应不大。以下是一些常见的一阶微分算子及其特点:

算子名称 特点
简单微分算子 对噪声敏感,对噪声具有一定放大作用
Roberts算子 去噪声作用小,边缘检测能力优于简单微分算子
Prewitt算子 能够有效抑制噪声的影响,同时能够检测边缘点
Sobel算子 得到的边缘较宽,噪声抑制效果更强
Canny算子 检测的边缘位置准确且边缘较窄

1、Roberts算子

2、Prewitt算子

3、Sobel算子

Sobel算子检测到的边缘相比于Roberts算子的检测结果要连续一些,并且对于图像的细节检测能力更好,且Sobel边缘检测器引入了局部平均,对噪声的影响比较小,效果较好。

4、Canny算子

Canny得到的检测结果优于Roberts、Sobel算子的检测结果,边缘细节更丰富,边缘定位准确连续性较好,虚假边缘少且边缘均具有单像素宽度。
其算法实现具体分为以下4步:

  1. 用高斯滤波器平滑图像
  2. 用一阶偏导的有限差分来计算梯度的幅度和方向
  3. 对梯度幅值进行非极大值抑制
  4. 用双阈值算法检测和连接边缘

5、拉普拉斯算子

常见的二阶微分算子包括拉普拉斯算子,它是一种二阶导师算子,对图像中的噪声相当敏感,而且检测出的边缘常常是双像素宽,没有方向信息,所以拉普拉斯算子很少直接用于检测边缘,而主要用于已知边缘像素后,确定该像素是在图像的暗区还是明区。另外,一阶差分算子会在较宽范围内形成较大的梯度值,因此不能准确定位,而利用二阶差分算子的过零点可以精确定位边缘。
Laplace算子的噪声明显比Sobel算子的噪声大,但其边缘比Sobel要细很多,且Laplace变换作为二阶微分算子对噪声特别敏感,并且会产生双边沿,不能检测边缘方向。


效果实验

1、 Roberts边缘检测

Prewitt 算子代码:

Roberts_kernel_x = np.array([[-1, 0], [0, 1]], dtype=int)
Roberts_kernel_y = np.array([[0, -1], [1, 0]], dtype=int)

2、Prewitt 边缘检测

Prewitt 算子代码:

Roberts_kernel_x = np.array([[-1, 0], [0, 1]], dtype=int)
Roberts_kernel_y = np.array([[0, -1], [1, 0]], dtype=int)

3、Sobel边缘检测

Sobel函数:

edges = cv2.Sobel(img, -1, 1, 1)

4、Canny边缘检测

Canny函数:

edges = cv2.Canny(img, 5, 100)

5、Laplacian 边缘检测

Laplacian 函数:

edges = cv2.Laplacian(img, -1)


python进行图像边缘检测相关推荐

  1. (自己编写函数)Python + Opencv 图像边缘检测(模糊算法【老师给的ppt中原理是这样的,但是还有很多不明白,有很多参数老师没说怎么算,只说了每张图片不一样】)

    实验原理 1.首先,用重心法模糊推理图像中任意一像素点的边缘隶属方向,取其最大隶属度的方向为边缘隶属方向. 2.然后,在边缘隶属方向上根据像素点附近灰度分布的特点模糊推理该点的边缘隶属度,进而实现边缘 ...

  2. python计算机视觉2:图像边缘检测

    我是一名初学者,如果你发现文中有错误,请留言告诉我,谢谢 如果需要检测到图像里面的边缘,首先我们需要知道边缘处具有什么特征. 对于一幅灰度图像来说,边缘两边的灰度值肯定不相同,这样我们才能分辨出哪里是 ...

  3. Opencv(python)图像梯度和边缘检测算法

    1.图像梯度 图像梯度计算的是图像的边缘信息 ,图像梯度计算的是图像变化的速度.对于图像的边缘部分,其灰度值变化较大,梯度值也较大,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小.图像 ...

  4. opencv for python的图像梯度算子以及canny边缘检测

    opencv for python的图像梯度算子以及canny边缘检测 一.图像梯度算子: 二.Canny边缘检测(一个多级边缘检测算法): 一.图像梯度算子: 1.概念简介(部分引自百度百科): 图 ...

  5. OpenCV+python:Canny边缘检测算法

    1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...

  6. 使用OpenCV和Python从图像中提取形状

    Welcome to the first post in this series of blogs on extracting features from images using OpenCV an ...

  7. 使用opencv和python实现图像的智能处理pdf_机器学习:基于OpenCV和Python的智能图像处理...

    前言 图像处理又称为数字图像处理,是指对图像进行分析.加工和处理,使其满足视觉方面需求的一种技术,它也是信号处理在图像领域的一种重要应用.随着计算机技术.人工智能和思维科学研究的迅速发展,图像处理向更 ...

  8. 2020-2021学年——图像图形编程实践实验4_Canny图像边缘检测

    Canny图像边缘检测 实验目的 了解并掌握使用微分算子进行图像边缘检测的基本原理: 了解Canny边缘检测原理与实现,进一步理解图像锐化的实质. 实验设备 PC机.matlab2018b 实验原理 ...

  9. Matlab数字图像处理 实验3、图像边缘检测的计算机实现

    子曰:桃李不言,下自成蹊. 图 像 边 缘 检 测 的 计 算 机 实 现 图像边缘检测的计算机实现 图像边缘检测的计算机实现 P a r t . 0 实 验 目 的 仅 限 于 学 习 交 流 Pa ...

最新文章

  1. 写给新手:2021版调参上分手册!
  2. SQL Server 的历史与发展方向
  3. Process.Start() 传递参数中有空格问题
  4. oracle存储日志
  5. php insert Oracle clob 字段处理问题
  6. LVS之NAT模型配置实验
  7. 视频编码中封装格式RMVB,AVI,264
  8. 浏览器 android x86,360浏览器x86版下载
  9. Go语言之父详述切片与数组的不同
  10. PHP安全编程:register_globals的安全性
  11. 网络不良视频内容识别技术初探
  12. 下划线_Excel添加下划线的快捷键,下划线颜色设置
  13. js字符串截取函数slice()、substring()、substr()
  14. linux下c语言编程实例
  15. 新手用python写牛牛扑克牌玩法
  16. 时间序列可预测性度量
  17. 中关村硬科技孵化器首次合作建科技成果转化创新平台
  18. vue3 H5 pdf插件 iphone查看pdf失败
  19. matlab矩阵 代表什么,matlab中矩阵AB是什么意思
  20. 北京科技大学 数值计算方法实验代码

热门文章

  1. 微众银行年营收270亿:净利69亿 利润碾压网商银行
  2. mysql IS NOT NULL优化案例
  3. ALE-零学习zero-shot(Label-Embedding for Attribute-Base Classification)
  4. ELK 介绍,安装及使用
  5. 【无标题】诗歌:人生格言
  6. gff文件_GFF格式说明 | Public Library of Bioinformatics
  7. 豹变猫?实时场景转变?NVIDIA多模式图像转换技术都能实现
  8. python实现微信机器人: 登录微信、消息接收、自动回复功能
  9. 有限状态机FSM(finite state machine) 一
  10. 十问十答,带你一起解锁「菊风VoLTE视频客服」