图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

距离变换的定义是计算一个图像中非零像素点到最近的零像素点的距离,也就是到零像素点的最短距离。

这个定义对于初接触距离变换的人来说,完全不知所云啊~那是因为缺乏一些知识背景,下面听我慢慢道来吧!

距离变换的处理图像通常都是二值图像,而二值图像其实就是把图像分为两部分,即背景和物体两部分,物体通常又称为前景目标!通常我们把前景目标的灰度值设为255,即白色,背景的灰度值设为0,即黑色。所以定义中的非零像素点即为前景目标,零像素点即为背景。所以图像中前景目标中的像素点距离背景越远,那么距离就越大,如果我们用这个距离值替换像素值,那么新生成的图像中这个点越亮。具体的应用就是找前景目标的中心~下面给一个具体的例子。

下面这个例子是确认手掌中心的例子:

由于伸出的手指相对于手掌来说比较细(如下图“src”窗口图像所示),也就是说手指上的像素距离零像素距离很短,所以经过距离变换后的图像在手指部位的像素值较小(如下图“dst”窗口图像所示),通过设定合理的阈值对距离变换后的图像进行二值化处理,则可得到去除手指的图像(如下图“bidist”窗口图像所示),手掌重心即为该图像的几何中心。

其它需要注意的:

1 从定义中我们可以看出距离变换中其实只计算前景目标区域(即非零像素点)的距离值!

下面给出利用OpenCV中的distanceTransform函数实现距离变换的源码:

(具体函数的介绍可参看官方文档:点此查看官方文档)

代码请参见博文 0019-用OpenCV的distanceTransform函数作图像的距离变换_清溪算法-CSDN博客

0019-用OpenCV的distanceTransform函数作图像的距离变换_清溪算法-CSDN博客

0019-用OpenCV的distanceTransform函数作图像的距离变换_清溪算法-CSDN博客

图像处理开发需求、图像处理接私活挣零花钱,请加微信/QQ 2487872782
图像处理开发资料、图像处理技术交流请加QQ群,群号 271891601

图像识别中距离变换的原理及作用详解,并附用OpenCV中的distanceTransform实现距离变换的代码相关推荐

  1. OpenCV的图像直角坐标系转极坐标系的函数warpPolar()详解,并附自己写的实现直角坐标系转极坐标系的MATLAB代码

    [草稿]详解OpenCV实现图像直角坐标系转极坐标系的函数warpPolar(),并附自己写的实现直角坐标系转极坐标系的MATLAB代码 有些时候我们需要把图像或矩阵从直角坐标系(笛卡尔坐标系)转换到 ...

  2. Linux 日志切割神器 Logrotate 原理和配置详解(附多生产实例)

    点击上方"民工哥技术之路",选择"设为星标" 回复"1024"获取独家整理的学习资料! 对于 Linux 系统安全来说,日志文件是极其重要的 ...

  3. python字符串strip的作用_Python字符串函数strip()原理及用法详解

    Python字符串函数strip()原理及用法详解 strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.s ...

  4. 硬件设计:电源设计--DC/DC工作原理及芯片详解

    硬件设计:电源设计--DC/DC工作原理及芯片详解 参考资料:DC/DC降压电源芯片内部设计原理和结构 MP2315(DC/DC电源芯片)解读 DC/DC电源详解 第一次写博客,不喜勿喷,谢谢!!! ...

  5. Xposed源码剖析——app_process作用详解

    Xposed源码剖析--app_process作用详解 首先吐槽一下CSDN的改版吧,发表这篇文章之前其实我已经将此篇文章写过了两三次了.就是发表不成功.而且CSDN将我的文章草稿也一带>删除掉 ...

  6. Nginx(二):反向代理原理 与 配置文件详解

    相关阅读: Nginx(一):Nginx原理概述 与 安装步骤详解 Nginx(二):反向代理原理 与 配置文件详解 Nginx(三):负载均衡策略 与 Nginx静态服务器 Nginx(四):Ngi ...

  7. for根据ID去重_汽车ECU参数标定之配置Overlay RAM实现Qorivva MPC57xx系列MCU参数在线标定和代码重映射原理和方法详解...

    内容提要 引言 1. MPC5744P的Overlay RAM工作原理介绍 2 MPC5744P的Flash Overlay配置详解 2.1 平台Flash标定区域描述字寄存器配置字0--PFLASH ...

  8. Spark SQL原理及常用方法详解(二)

    Spark SQL 一.Spark SQL基础知识 1.Spark SQL简介 (1)简单介绍 (2)Datasets & DataFrames (3)Spark SQL架构 (4)Spark ...

  9. java的markword_【转帖】Java工具结构与锁实现原理及MarkWord详解

    Java工具结构与锁实现原理及MarkWord详解 https://www.pianshen.com/article/2382167638/ 我们都知道,Java工具存储在堆(Heap)内存.那么一个 ...

最新文章

  1. Python Flask-表单提交方式
  2. Ubuntu LAMP
  3. 全国计算机二级表情包,计算机考试报名照片却上传成表情包 又一个段子?
  4. XNA中三维空间物体的几种旋转方法
  5. java https post get请求_JAVA利用HttpClient进行POST和GET请求(HTTPS)
  6. 防qq页面多边形html5,高仿QQ Xplan的H5页面
  7. 导入项目jsp文件报错,但打开相应的文件并没有错误解决办法
  8. Emacs快捷键的总结
  9. Redis中的lua脚本
  10. PX4原生固件,position_estimator_inav解读
  11. arccatalog点要素显示不完_2020年仅剩100天,你的年假休完了吗?关于年假你不知道的7点!...
  12. 《地理天机一贯 》   聚宝馆手抄珍稀古籍分享
  13. 我的世界服务器指令修复耐久,我的世界修改装备耐久度指令 | 手游网游页游攻略大全...
  14. 河南在郑州开启5G网络全城试用
  15. ssh 反向代理连接内网服务器并配置开机自启动(解决autossh无法开机自启动)
  16. python高分书籍推荐_如果只能推荐一本 Python 书,我一定 Pick 它
  17. 概率统计Python计算:自定义离散型分布
  18. 白帽汇龙专:Web扫描器的架构变迁之路
  19. Basic4android 的妈妈 Basic4ppc
  20. 腾讯微博开放平台授权教程(1)

热门文章

  1. mac中python怎么打开中文txt文件-mac在matplotlib中显示中文的操作方法
  2. python快速入门答案-Python 开发 14 天快速入门
  3. python stm32-STM32 上面跑Python
  4. python基础知识梳理-Python基础知识梳理 - 第03部分
  5. python数据处理实例-Python数据处理numpy.median的实例讲解
  6. python3下载慢-PIP 下载慢,给你Python3的pip换个源 一键换源
  7. python基础题-Python基础30道测试题(字符串相关)
  8. python快乐编程—基础入门-Python零基础快乐学习之旅(K12实战训练)
  9. python游戏-Python游戏
  10. gitbook的使用