距离变换

基于距离变换的图像匹配 之前一直以为距离变换的意义就在于骨架抽取,看到一篇论文用距离变换的方式来实现匹配,配合倒角距离变换(Chamfer Distance Transform)可以达到快速匹配的效果 阅读详情

转载:http://blog.youkuaiyun.com/abcjennifer/article/details/7617883

距离变换和线性滤波器,形态学变换处于平等位置,是图像处理的一种方法,通过使用两遍扫描光栅算法可以快速计算到曲线或点集的距离。


应用:

水平集

快速斜切匹配

图像拼接

图像混合的羽化

临近点配准


方法:

首先对图像进行二值化处理,然后给每个像素赋值为离它最近的背景像素点与其距离(Manhattan距离or欧氏距离),得到distance metric(距离矩阵),那么离边界越远的点越亮。



实现:

[cpp]  view plain copy
  1. Imgori=imread('test.jpg');  
  2. I=rgb2gray(Imgori);  
  3. subplot(2,3,1);imshow(I);title('origin');  
  4.   
  5. Threshold=100;  
  6. F=I>Threshold;%front  
  7. %B=I<=Threshold;%background  
  8. subplot(2,3,4);imshow(F,[]);title('binary');  
  9.   
  10. T=bwdist(F,'chessboard');  
  11. subplot(2,3,2);imshow(T,[]);title('chessboard distance transform')  
  12. %the chessboard distance between (x1,y1) and (x2,y2) is max(│x1 – x2│,│y1 – y2│).  
  13.   
  14. T=bwdist(F,'cityblock');  
  15. subplot(2,3,3);imshow(T,[]);title('chessboard distance transform')  
  16. %the cityblock distance between (x1,y1) and (x2,y2) is │x1 – x2│ + │y1 – y2│.  
  17.   
  18. T=bwdist(F,'euclidean');  
  19. subplot(2,3,5);imshow(T,[]);title('euclidean distance transform')  
  20. %use Euclidean distance  
  21.   
  22. T=bwdist(F,'quasi-euclidean');  
  23. subplot(2,3,6);imshow(T,[]);title('quasi-euclidean distance transform')  
  24. %use quasi-Euclidean distance  

或者单纯想看这几个距离函数的区别可以用以下code:

[cpp]  view plain copy
  1. bw = zeros(200,200); bw(50,50) = 1; bw(50,150) = 1;  
  2. bw(150,100) = 1;  
  3. D1 = bwdist(bw,'euclidean');  
  4. D2 = bwdist(bw,'cityblock');  
  5. D3 = bwdist(bw,'chessboard');  
  6. D4 = bwdist(bw,'quasi-euclidean');  
  7. figure  
  8. subplot(2,2,1), subimage(mat2gray(D1)), title('Euclidean')  
  9. hold on, imcontour(D1)  
  10. subplot(2,2,2), subimage(mat2gray(D2)), title('City block')  
  11. hold on, imcontour(D2)  
  12. subplot(2,2,3), subimage(mat2gray(D3)), title('Chessboard')  
  13. hold on, imcontour(D3)  
  14. subplot(2,2,4), subimage(mat2gray(D4)), title('Quasi-Euclidean')  
  15. hold on, imcontour(D4)  

图像基本变换---二值图像距离变换(欧氏距离+棋盘距离+城市街区距离) 本文详细介绍了图像基本变换---二值图像距离变换(欧氏距离+棋盘距离+城市街区距离)的相关知识,并 给出了完整程序DEMO的下载链接,跟大家分享一下,希望大家喜欢! 阅读详情

相关推荐

距离变换 Distance Transformation

距离变换是一种用于计算图像中每个像素与最近的非零像素之间距离的技术。它通常用于图像分割和物体识别任务,因为它可以帮助识别图像中物体的边界。

chenxinyun921的博客 1226

距离变换 matlab实现 opencv实现

距离变换将一幅二值图像(特征点为0,非特征点为1)变换为一幅灰度图像,灰度图像每一点的像素值为二值图像上非零像素到最近的0像素的距离。 Syntax D = bwdist(BW) [D,IDX] = bwdist(BW) [D,IDX] = bwdist(BW,method) Description D = bwdist(BW) computesthe Euclid

todayq的专栏 5429

OpenCV实战:5分钟搞定图像拼接(附Python代码)

本文通过OpenCV实战教程,详细讲解如何使用Python在5分钟内完成图像拼接。重点介绍`findHomography`函数和单应性矩阵的应用,提供完整的代码示例和常见问题解决方案,帮助开发者快速掌握图像拼接技术。

weixin_26833503的博客 120

图像距离变换与应用

1、象素间各种距离的定义及计算 我们知道,构成一幅数字图像最基本的元素是一个一个的像素点,也就是像素。理解像素间的一些基本关系是我们以后进行图形图形处理的基础和关键。如相邻像素(像素的邻域),像素的邻接性、连通性、区域和边界这些内容。下面我想写一下像素间各种距离的定义以及用C++编写的程序来计算像素间的距离。  应用领域:如果应用到单幅图像上则是主要为目标细化、骨架提取、粘连物体的

yangdeshun888的博客 1万+

一种车内UWB圆极化天线的理论推导及具体实现

本文详细描述了一款工作于UWB channel 9也即中心频率为7987.2MHz,带宽为499.2MHz的圆极化天线。首先是理论推导圆极化天线的物理尺寸参数,分析物理尺寸参数对天线性能指标的影响。然后分析圆极化天线在汽车驾驶室这种狭窄空间应用中带来的优势,也即可以最大化的极化损失多径,提高主径接收信号的信噪比。

weixin_44555637的博客 2961

Pytorch(一) Pytorch 的安装

安装步骤 1.检查是否有合适的GPU, 若有安装Cuda与CuDNN 2.下载pytorch安装文件,进行pytorch的安装 检查电脑是否有合适的GPU 在桌面上右击如果能找到NVIDA控制面板,则说明该电脑有GPU。控制面板如下,并通过查看系统信息获取支持的Cuda版本 点击 帮助->点击 系统信息 弹出下面的对话框,在驱动程序版本那一栏就能看到该计算机使用的驱动版本。 ...

开开心心 25万+

数字图像的距离变换算法

数字图像的距离变换算法一、图像数字化二、距离三、距离变换四、OpenCV代码实现 一、图像数字化 通过传感器获得的图像是平面坐标(x,y)的连续函数f(x,y),它的值图像对应位置的亮度。为了能够让计算机来处理,需要对图像进行采样,并且对亮度值进行量化。 1、采样。对连续函数f(x,y)进行采样,就是分别对x轴和y轴,按照固定间隔取值,得到平面坐标上的M×N个点,将其函数值作为元素生成M行N列的...

帅帅Go 8765

运放+三极管恒流源电路设计实战:从原理到仿真一步到位(附Multisim文件)

本文详细解析了运放与三极管构建恒流源电路的核心原理,重点阐述了负反馈机制如何实现精准的电流控制。通过Multisim仿真实战,从电路搭建、参数计算到负载调整率与动态响应分析,一步步指导设计过程,并提供常见故障的调试技巧与PCB设计要点,帮助工程师从理论平稳过渡到可靠实践。

7z8x2c4v6b9的博客 711

matlab距离变换,图像处理之距离变换

图像处理之距离变换概述距离变换是二值图像处理与操作中常用手段,在骨架提取,图像窄化中常有应用。距离变换的结果是得到一张与输入图像类似的灰度图像,但是灰度值只出现在前景区域。并且越远离背景边缘的像素灰度值越大。基本思想根据度量距离的方法不同,距离变换有几种不同的方法,假设像素点p1(x1, y1),p2(x2, y2)计算距离的方法常见的有:1.欧几里德距离,Distance = 2....

weixin_39869197的博客 2068

1、STVD和STVP的使用及串口烧写程序教程

文章目录一、前述二、STVD的使用三、STVP的使用1、STVP的作用:2、STVP的使用四、串口烧录程序 一、前述 STVD是意法半导体推出的,可以支持STM8和STM32 而IAR不尽如此,还支持51,MSP430等芯片 软件开发环境:编写程序,调试软件功能,下载固件到单片机中 硬件开发环境:连接外围电路,驱动功能外设,实现电气功能 最终构成一个以STM8系列单片机作为控制核心的应用系统。 MCS-51 一般的开发环境是 IAR 和 Keil STM8 一般的开发环境是 IAR 和 ST

Clichong 1万+

Versal ACAP NoC实战:像理解计算机网络一样配置AXI NoC,打通PS与PL数据通路

本文深入探讨了Versal ACAP NoC的配置与优化,通过计算机网络类比解析NoC架构,详细介绍了在VD100开发板上配置AXI NoC实现PS与PL数据交互的实战步骤。文章涵盖NoC组件功能、Vivado配置技巧、性能优化方法及常见问题解决方案,帮助开发者高效打通Versal芯片的数据通路。

weixin_42665255的博客 291

图像距离变换

图像处理距离度量

Alexa_的博客 1926

python:实现brutefore破解wifi(附完整源码)

python:实现brutefore破解wifi(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 5704

OpenCV笔记12 距离变换

距离变换于被广泛应用于图像分析、计算机视觉、模式识别等领域,人们利用它来实现目标细化、骨架提取、形状插值及匹配、粘连物体的分离等。距离变换的图像是二值图像针。二值图像可以做事两个部分组成的前景目标和背景,前景目标的像素值为1,背景的像素值为0;距离变换的结果是一幅灰度级图像,即距离图像,图像中每个像素的灰度值为该像素与距其最近的背景像素间的距离。 ...

weixin_39354845的博客 2783

GRCNN抓取网络学习2【自制Jacquard数据集训练】

请先完成【机械臂视觉抓取从理论到实战】,这样有利于下面操作的理解!然后第二步是GRCNN抓取网络1【Jacquard数据集等效抓取集制作】,有了自己的数据集输入到GRCNN中是三种文件,接下来就是准备训练GRCNN网络啦!grasps.txtRGB.png本文帮大家根据自制Jacquard数据集训练GRCNN抓取网络,其中包含数据格式的对齐,列举了常见的几种训练方法,相信能坚持到这里的都应该试试顺利了吧!接下来会针对GRCNN调优,期待一下下吧,那就别宁色你的三连。

vor234的博客 2790

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【图像处理】——距离变换算法

通过本文可以了解到1.什么是图像的距离?2.什么是距离变换?3.距离变换的计算4.OpenCV中距离变换的实现距离(distance)是描述图像两点像素之间的远近关系的度量,常见的度量距离有欧式距离(Euchildean distance)、城市街区距离(City block distance)、棋盘距离(Chessboard distance)。欧式距离欧式距离的定义源于经典的几何学,与我们数学中所学的简单几何的两点之间的距离一致,为两个像素点坐标值得平方根。

m0_46376148的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

距离变换的理解

当时自己理解的一点小误区,放到这里防止再犯错。 距离变换的基本意思就是计算一个图像中非零像素点到最近的零像素点的距离,也就是到所有零像素点的最短距离。建立距离变换图像可以方便提取骨骼 在opencv中有专门的函数cvDistTransform来计算距离变换图像。 [cpp] view plaincopyprint? DistTransform  计算输入图像的所

LJH0600301217的专栏 2904

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: C/C++ 根据年月日计算星期几——蔡勒公式篇
下一篇: 自然图像抠图/视频抠像技术发展情况梳理(image matting, alpha matting, video matting)--计算机视觉专题1
Savitch
博客等级 码龄16年 84粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值