opencv 使用surf算法匹配图像??

风为裳のCode 2012-11-16 11:15:58
大家好,最近做一个图像匹配的东西,遇到点问题,希望有人能指点下,谢谢了。

大致看了一下sift和surf算法,发现surf来匹配图像效率高一点,但是surf只匹配出两幅图对应的特征点,那基于什么情况可以判断两幅图匹配成功了呢?

我在opencv论坛问过,说是匹配之后会建立一个矩阵:


if( !cvFindHomography( &_pt1, &_pt2, &_h, CV_RANSAC, 5 ))
return 0;



但我测试了一下,两幅不一样的图也能建立矩阵,不过就是匹配的特征点比较少,请问有什么办法能辨别两幅图像是否一样?
...全文
7776 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
cx520forever 2015-05-20
  • 打赏
  • 举报
回复
同问,怎么判断是否匹配成功啊?就是匹配程度的描述。
galilie 2015-01-12
  • 打赏
  • 举报
回复
我觉得opencv库里面的角点匹配,是不是没有考虑到角点的位置?不然也不会出现,完全不同的图像居然匹配出那么多点。
mybydhn 2014-06-12
  • 打赏
  • 举报
回复
也遇到版主同样的问题,到底怎么样就算匹配出了
u010380584 2014-04-30
  • 打赏
  • 举报
回复
到底怎么解决的,LZ还在么?
hitxuhao 2014-03-04
  • 打赏
  • 举报
回复
也遇到版主同样的问题,到底怎么样就算匹配出了,surf源码中没有像SIFT源码那样体现出来?不知道怎么解决?
ychl87 2013-12-14
  • 打赏
  • 举报
回复
利用计算出来的单应性矩阵,计算出原图像中的四个角点在目标图像中的位置,并判断其是否还为一个矩形来判定
四人行 2013-11-30
  • 打赏
  • 举报
回复
正在学习中,学习了。。。
锋将 2013-07-05
  • 打赏
  • 举报
回复
其实匹配成功是属于识别问题,成功其实不代表就完全一样,而是说这两幅图最像,也就是两幅图匹配成功的关键点最多。简单的说就是一幅图与一堆图匹配,找出最像的一张
expectances 2013-06-04
  • 打赏
  • 举报
回复
我给顶下,最近也要做这个。
ElvisZHF 2013-05-17
  • 打赏
  • 举报
回复
同求,我也遇到了这个问题。真心求教!
zz88229 2013-05-11
  • 打赏
  • 举报
回复
我觉得应该是这样的: 特征点匹配算法一般是通过获取的匹配对计算出单应性变换矩阵,一般用RANSAC 利用该矩阵从而计算出object图片四个角点在场景图像中对应的坐标 最终得到场景中目标位置
悯生 2013-04-29
  • 打赏
  • 举报
回复
回复#12,我也在考虑这个问题,因为我也做了两幅完全不同的图片进行测试,结果也是能匹配上,这种现象从理论就可以解释,但是能否解决这一问题呢,
ipra12315 2013-03-21
  • 打赏
  • 举报
回复
- -最近也是在弄匹配的问题,还处于学习阶段,不过还是帮顶下
kingfc 2013-03-11
  • 打赏
  • 举报
回复
设定个匹配点数目的阈值吧,超过这个阈值就认为是匹配成功
passball 2012-12-12
  • 打赏
  • 举报
回复
我觉得LZ基于的假设就不正确吧,匹配的初衷就是基于两幅同场景不同时段或不同成像设备下的同像,两幅完全不同场景的图像当然也可能存在匹配点(如果单纯考虑一个像素点来说),因为单纯考虑任意两幅图像中的像素点,总会出现一些像素点满足一定的条件,所以现在很多匹配问题已经开始考虑相邻像素点的限制问题。。。不要过多的纠缠这样的问题啊,还是原理实现比较重要。。。
stevenqi 2012-12-08
  • 打赏
  • 举报
回复
用opencv-sift效果不错,如果图片比较大,速度是会有些慢,在网上搜一下就有VC下的源码了,祝好运
风为裳のCode 2012-12-04
  • 打赏
  • 举报
回复
再顶一下,不要沉下去了。
风为裳のCode 2012-11-20
  • 打赏
  • 举报
回复
自己再顶一下吧
风为裳のCode 2012-11-19
  • 打赏
  • 举报
回复
引用 5 楼 fengbingchun 的回复:
引用 4 楼 fengyishang 的回复:引用 3 楼 fengbingchun 的回复:在匹配上sift比surf效果要好,但是surf比sift要快,你的问题应该是最终进行图像比对 http://blog.csdn.net/fengbingchun/article/details/5815021 问题就是出在最终比对的时候,按照opencv 给出的surf的……
这个我没有注意到,那是不是两张图片像素宽,高一致就能通过是否形成矩阵来判定是否匹配? 还有,若两张图片像素宽,高不一样,是不是就用SIFT算法?
fengbingchun 2012-11-19
  • 打赏
  • 举报
回复
引用 4 楼 fengyishang 的回复:
引用 3 楼 fengbingchun 的回复:在匹配上sift比surf效果要好,但是surf比sift要快,你的问题应该是最终进行图像比对 http://blog.csdn.net/fengbingchun/article/details/5815021 问题就是出在最终比对的时候,按照opencv 给出的surf的例子,好像只有图像匹配,没有最终的辨别。 ……
图像进行比对时要求比对的两幅图像宽、高是一致的
加载更多回复(6)

19,468

社区成员

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

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