比较两个轮廓的相似度

flxshujie 2016-07-21 09:01:56
我有两个轮廓
A:
B:

我手头其实有一堆类似于A的轮廓的素材库,我想做的是用B轮廓与素材库中的轮廓做比较,匹配一个最相似的轮廓。这里面B轮廓的size明显大于素材库中的轮廓。
...全文
2431 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
baoxin1100 2019-11-18
  • 打赏
  • 举报
回复
retval = cv.ShapeDistanceExtractor.computeDistance( contour1, contour2 )
MrrCat 2019-03-15
  • 打赏
  • 举报
回复
Hu矩轮廓匹配
AWDawson 2019-01-24
  • 打赏
  • 举报
回复
opencv 利用Hu不变矩轮廓匹配
赵4老师 2016-07-27
  • 打赏
  • 举报
回复
引用 5 楼 ssbqrm 的回复:
[quote=引用 4 楼 flxshujie 的回复:] @ssbqrm 找了一圈,没发现有这个实现啊,matlab代码倒是不少,不晓得大神你说的是哪个接口
OpenCV3.1.0里有的,参考samples文件里的shape_example.cpp[/quote]
ssbqrm 2016-07-25
  • 打赏
  • 举报
回复
引用 4 楼 flxshujie 的回复:
@ssbqrm 找了一圈,没发现有这个实现啊,matlab代码倒是不少,不晓得大神你说的是哪个接口
OpenCV3.1.0里有的,参考samples文件里的shape_example.cpp
shiter 2016-07-25
  • 打赏
  • 举报
回复
 CSDN博客  Augusdi 博客专家 OpenCV图像的轮廓的匹配 发表于2013/5/31 15:37:29  15733人阅读 分类: OpenCV 一个跟轮廓相关的最常用到的功能是匹配两个轮廓.如果有两个轮廓,如何比较它们;或者如何比较一个轮廓和另一个抽象模板. 矩 比较两个轮廓最简洁的方式是比较他们的轮廓矩.这里先简短介绍一个矩的含义.简单的说,矩是通过对轮廓上所有点进行积分运算(或者认为是求和运算)而得到的一个粗略特征.通常,我们如下定义一个轮廓的(p,q)矩:  在公式中p对应x纬度上的矩,q对应y维度上的矩,q对应y维度上的矩,阶数表示对应的部分的指数.该计算是对轮廓边界上所有像素(数目为n)进行求和.如果p和q全为0,那么m00实际上对轮廓边界上点的数目. 下面的函数用于计算这些轮廓矩 void cvContoursMoments(CvSeq* contour,CvMoments* moments) 第一个参数是我们要处理的轮廓,第二个参数是指向一个结构,该结构用于保存生成的结果.CvMonments结构定义如下 /* Spatial and central moments */ typedef struct CvMoments { double m00, m10, m01, m20, m11, m02, m30, m21, m12, m03; /* spatial moments */ double mu20, mu11, mu02, mu30, mu21, mu12, mu03; /* central moments */ double inv_sqrt_m00; /* m00 != 0 ? 1/sqrt(m00) : 0 */ } CvMoments;
flxshujie 2016-07-25
  • 打赏
  • 举报
回复
@ssbqrm 找了一圈,没发现有这个实现啊,matlab代码倒是不少,不晓得大神你说的是哪个接口
ssbqrm 2016-07-23
  • 打赏
  • 举报
回复
OpenCV 里有个ShapeContext 比较轮廓的,效果还可以,就是速度慢一些
zgl7903 2016-07-22
  • 打赏
  • 举报
回复

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧