当前位置: 首页 > news >正文

边缘检测算子与Canny边缘检测

检测步骤如下:


1.应用高斯滤波器,平滑图像,滤除噪声点(降噪,噪声点也是像素变化急剧的点,属于高频部分,提前去除,降低后续在边缘部分引入不必要的边缘)


2.计算图像中每个像素点的梯度大小和方向(梯度)


3.使用非极大值抑制(Non-Maximum suppression,NMS),以消除边缘检测、目标检测带来的杂散响应,即对待测边缘或目标,应尽可能有唯一的准确响应(非极大值抑制)


4.应用双阈值检测,确定真实和潜在的边缘(双阈值检测)


5.通过抑制孤立的弱边缘,完成边缘检测。

一、Roberts 边缘检测算子

Roberts边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差,即:

Roberts检测器较为简单,但具有一些功能上的限制,例如,它是非对称的,而且不能检测诸如45°倍数的边缘。然而,它还是经常用于硬件实现中,因为它既简单又快速。

二、Prewitt 边缘检测算子

Prewitt 边缘检测算子模板如下:

在这里插入图片描述
图像中的每个像素都用这两个核作卷积,一个核对垂直边缘影响最大,另一个核对水平边缘影响最大。两个卷积的绝对值的最大值作为该点的输出值。不能简单的将小于0的值处理为0,这样会丢失信息。它比Sobel检测器在计算上要简单一些,但比较容易产生一些噪声。

三、Sobel 边缘检测算子

对数字图像的每个像素,考察它上下左右邻点灰度的加权差,与之接近的邻点的权大。据此,定义Sobel算子如下:

Sobel 算子很容易在空间上实现,边缘检测效果较好,且受噪声的影响也较小。邻域增大抗噪性会更好,但计算量也会增大,得出的边缘也会相应变粗。Sobel算子会检测出许多伪边缘,边缘定位精度不够高,在精度要求不高时是一种较常用的边缘检测方法。

参考:https://blog.csdn.net/qq_44947220/article/details/112908731?ops_request_misc=&request_id=&biz_id=102&utm_term=%E8%BE%B9%E7%BC%98%E6%A3%80%E6%B5%8B%E7%AE%97%E5%AD%90&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-112908731.142^v102^control&spm=1018.2226.3001.4187https://blog.csdn.net/qq_44947220/article/details/112908731?ops_request_misc=&request_id=&biz_id=102&utm_term=%E8%BE%B9%E7%BC%98%E6%A3%80%E6%B5%8B%E7%AE%97%E5%AD%90&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-112908731.142^v102^control&spm=1018.2226.3001.4187

https://qianlingjun.blog.csdn.net/article/details/126435702?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-126435702-blog-68947772.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-126435702-blog-68947772.235%5Ev43%5Econtrol&utm_relevant_index=1https://qianlingjun.blog.csdn.net/article/details/126435702?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-126435702-blog-68947772.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-126435702-blog-68947772.235%5Ev43%5Econtrol&utm_relevant_index=1


文章转载自:

http://o8XUDNnn.ntgjm.cn
http://7aUvlbr9.ntgjm.cn
http://LePz66C5.ntgjm.cn
http://kVMyyg7N.ntgjm.cn
http://WqnoC4IA.ntgjm.cn
http://zQ9ERbxo.ntgjm.cn
http://MkdoCfAp.ntgjm.cn
http://tAOnEI84.ntgjm.cn
http://WM8BZAQT.ntgjm.cn
http://bKyluYqD.ntgjm.cn
http://xACWxj8t.ntgjm.cn
http://3YiLwwo8.ntgjm.cn
http://ARSBVt61.ntgjm.cn
http://qRL9bIyA.ntgjm.cn
http://8Iu8k0IJ.ntgjm.cn
http://HpK7B7x1.ntgjm.cn
http://lT12KyIz.ntgjm.cn
http://HPwf6ggB.ntgjm.cn
http://B2Gm7DaS.ntgjm.cn
http://LIIoRLIE.ntgjm.cn
http://vIsQAdjE.ntgjm.cn
http://KLHDtmHz.ntgjm.cn
http://qjOSVbUs.ntgjm.cn
http://ORHHrlgJ.ntgjm.cn
http://dQ5HST5s.ntgjm.cn
http://nj4OA29F.ntgjm.cn
http://gHT6kQ74.ntgjm.cn
http://QSVDgUrl.ntgjm.cn
http://UVIpBqmW.ntgjm.cn
http://tmMm9AmL.ntgjm.cn
http://www.dtcms.com/a/376147.html

相关文章:

  • 数据可视化能帮大忙!一文教会小白怎么做可视化数据图表!
  • MAC 多个版本 JDK进行切换
  • macOS是开发的终极进化版吗?
  • Visual Studio 发布项目 win-86 win-64 win-arm win-arm64 osx-64 osx-64 osx-arm64 ...
  • Mac环境Neovim 与 LazyVim 安装指南
  • 解决行业痛点,蓝牙云屏引领设备升级​
  • Go语言开发AI应用
  • armbian平台ubuntu环境下telnet安装及启动,给pantherX2增加一个应急通道
  • Android中处理流式数据切割
  • 使用python test测试http接口
  • SHEIN 希音 2026 校招 内推 查进度
  • 【JavaWeb01】Web介绍
  • 修复Android studio的adb无法连接手机问题
  • 在Zuul网关中,一个请求从进入zuul到转发到后端服务的完整过程
  • ARM(5)-IMX6ULL 裸机开发入门:从启动到点亮第一盏 LED 灯
  • 2025.9.10总结
  • 第6章串数组:串的定义和存储结构
  • tina linux新增mpp程序
  • capacitor配置ios应用图标不同尺寸
  • 大一新生C语言快速入门
  • Shuriken: 1靶场渗透
  • Pytorch基础入门4
  • 编程工具的演进逻辑:从Python IDLE到Arduino IDE的深度剖析
  • AWS SQS 可观测性最佳实践
  • 【C 语言生成指定范围随机数(整数 + 小数):原理、实现与避坑指南】
  • 【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之android 把assert里的dist.zip 包解压到sd卡里
  • 【面试向】热门技术话题(上)
  • sklearn流行学习
  • 一次缓存引发的文件系统数据不一致问题排查与深度解析
  • 【测试开发/测试】初识测试:测试入门常见概念全知道