canny滤波 原理步骤细致剖析

制作人

霏儿,百度飞桨PPDE开发者技术专家,计算机视觉、虚拟现实、元宇宙,欢迎技术交流

目的

最优边缘检测

含义

最优检测

  • 算法能够尽可能多地标识出图像中的实际边缘

最优定位准则

  • 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近

检测点与边缘点一一对应

  • 图像中的边缘只能标识一次

步骤

转为灰度图

  • 减少计算开销

滤波

  • 高斯滤波

    • 卷积核满足正态分布

    • 核越大,图像越模糊

    • 高斯核大小将影响canny滤波器的性能

      • 尺寸越大,滤波器对噪声的敏感度会越低
      • 尺寸越大也会让边缘检测的定位误差也将略有增加
    • 对同像素加权相加,使得最相近的像素有更高重要度

  • 目的

    • 降低噪声

计算梯度大小&方向

  • 计算Gx,Gy

    • 即水平Gx和垂直Gy方向的一阶导数值
  • 计算梯度值

  • 计算梯度方向

非极大值抑制(NMS)

  • 角度法

    • 划分为0,45,90,135度四个角度

    • 优点

      • 计算简单
    • 劣势

      • 无插值,8邻域中计算的部分不是计算出来的梯度方向
  • 插值法

    • 优点

      • 更精确
    • 劣势

      • 计算开销大
  • 目的

    • 梯度计算得到的边缘很粗,一条边缘中央一般很亮,两边亮度逐渐降低,可以根据这个特点去掉非局部灰度最高的“假边”
    • 寻找像素点局部最大值,将非极大值点所对应的灰度值置为0,这样可以剔除掉一大部分非边缘的点
  • 算法思路

    • 将当前像素的梯度强度与沿正负梯度方向上的两个像素进行比较。
    • 如果当前像素的梯度强度与另外两个像素相比最大,则该像素点保留为边缘点,否则该像素点将被抑制
  • 原理

    • 确定像素点C的灰度值在其8值邻域内是否为最大
    • 图1中蓝色的线条方向为C点的梯度方向,这样就可以确定其局部的最大值肯定分布在这条线上,也即出了C点外,梯度方向的交点dTmp1和dTmp2这两个点的值也可能会是局部最大值。
    • 因此,判断C点灰度与这两个点灰度大小即可判断C点是否为其邻域内的局部最大灰度点
    • 如果经过判断,C点灰度值小于这两个点中的任一个,那就说明C点不是局部极大值,那么则可以排除C点为边缘

双阈值

  • 方法

    • 设置两个阀值(threshold),分别为maxVal和minVal
    • 当某个像素点值高于threshold_low 时,则可以认为它是边缘,把它的灰度置为1
    • 当某个像素点值高于threshold_low 时,则认为它不是边缘,把它的灰度置为0
    • 处于threshold_low 和threshold_high 之间的像素点,如果它的八邻域有真边上的点,则认为它也是边缘,并把灰度置为1
  • 目的

    • 非极大值抑制之后,检测到的边缘线条比较多,我们可以滤掉一些很暗的边缘,并让主要的边缘凸显出来
    • 过滤掉由于噪声和颜色变化引起的一些边缘像素
    • 用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素

【思维导图】canny滤波 原理步骤细致剖析相关推荐

  1. 管理系统中计算机应用第二章思维导图,第二章 项目范例:剖析网络订票系统 课件(15张PPT)...

    第二章 项目范例:剖析网络订票系统 课件(15张PPT) 2.1 信息系统及其组成 2.2 信息系统的功能 2.3 信息系统中的计算机和移动终端 第二章 信息系统的组成与功能 教材p29-p33 信息 ...

  2. 物联网平台搭建的全过程介绍(二)——物联网平台通信思维导图

    目前物联网平台很多,本例以阿里云物联网平台为例,介绍一下物联网平台通信的思维导图和实现的步骤,本文仅做功能的宏观描述,具体操作会在后续文章内详细介绍.其他物联网原理基本大同小异.思维导图如下图所示: ...

  3. 教你如何用思维导图把一本书内容绘制成一张A4纸!

    教你如何用思维导图把一本书内容绘制成一张A4纸! 如何把一本书变成一张纸.如果一本书的关键内容能够体现在一张A4纸上那无疑是为我们节省了很多的时间,不光可以快速地理解书里的内容而且还能够体会作者想表达 ...

  4. 有哪些好用的思维导图软件?这个办法值得一试

    思维导图模板在日常生活中并不罕见,思维导图对学生来说很好用,它是一种图形化的学习工具,能够帮助学生更好地理解.记忆知识,提高学习的效率和质量. 思维导图通过将知识与主题和子主题联系起来,能够帮助学生更 ...

  5. 数据结构与算法思维导图(学习笔记)

    版本 数据结构与算法思维导图V1.0 V1.0分享版本这个可以直接看,不需要下载. 说明 1.free 2.目前内容主要包含内容包含: 数据结构与算法思维导图 包含:线性表.顺序结构.链式结构,栈与队 ...

  6. 排列组合思维导图_思维导图:进阶高效能人士的思维工具

    你记录信息的方式越贴近大脑自然的工作方式,你的大脑就越能高效地触发对关键信息的记忆和理解效率.--<思维导图>作者东尼·博赞 信息爆炸的时代,精简思考是进阶高效能人士的一项必备技能.思维导 ...

  7. 手绘思维导图的学习技巧

    iMindMap思维导图包含的模板,除一般的样式,还有独家手绘风格思维导图,线条自由且美观,满足多数人的需求,总有很多人在学习手绘思维导图iMindMap时,想要寻求技巧,使得手绘风格的导图更加好看, ...

  8. mindjet mindmanager2021 v20.2.201 中文版如何创建制作思维导图教程分享

    MindManager是MindJet公司出品的一款专业绘制思维导图软件,作为较好的思维导图软件,其直观清晰的可视化界面可以快速捕捉.组织和共享想法和信息.MindManager思维导图主要由中心主题 ...

  9. 计算机英语第一张思维导图,小学语文、数学、英语思维导图模板集合,怎么画好看的思维导图...

    原标题:小学语文.数学.英语思维导图模板集合,怎么画好看的思维导图 小学的孩子成绩不理想.注意力不集中,使很多家长苦恼.爱玩.好动是每个孩子的天性,面对枯燥的文字,缺乏形象化的内容难以引起孩子的学习兴 ...

最新文章

  1. 挨踢项目求生法则-战略篇
  2. fetch 自动加cookie_如何在shell中动态获取chrome浏览器的cookie信息
  3. (char*)malloc(sizeof(char))有什么用,为什么要这么写——简单介绍指针
  4. leetcode 390. Elimination Game | 390. 消除游戏(Java)
  5. activiti idea 请假流程_IDEA开发流程Activiti需要注意的一些坑
  6. Linux时间函数札记
  7. jquery ajax 文本丢失加号和连接号的问题
  8. C++ 各类树的算法
  9. jquery validate 联动验证
  10. linux 进程间通信机制(IPC机制)一消息队列
  11. 计算机cpu天体图,认识一下电脑的CPU,附2019最新CPU天梯图
  12. 《ElasticSearch技术解析与实战-朱林》
  13. 『杭电1859』最小长方形
  14. 2020第十一届蓝桥杯7月份省赛真题(JavaB组题解)
  15. Python pyglet 自制3D引擎入门(一) -- 绘制几何体、创建3D场景
  16. element-ui自适应问题
  17. word 三线表 中间辅助线即行线如何断开?
  18. 软件相关的小问题记录
  19. 谈谈Word2Vec的CBOW模型
  20. linux daemon步骤,编写Linux系统下Daemon程序的方法步骤

热门文章

  1. iOS提交应用至App Store流程
  2. 京东商品长图功能来啦 不用改图一键生成长图
  3. java打印表情包_表情包生成器
  4. motd 自定义欢迎界面
  5. html5 dom video,HTML5 / HTML5 video - 使用 DOM 进行控制 - 汇智网
  6. poj-1625 Censored![ac自动机+dp+高精度]
  7. (19年最新,操作极简)linux下使用xmind zen破解版
  8. 人脸识别ROC曲线绘制1--生成人脸feature文本
  9. 详述Android马甲包
  10. Linux从入门到跑路