opencv特征匹配之SSD
来源:互联网 发布:淘宝最好的二手手机店 编辑:程序博客网 时间:2024/05/22 05:02
SSD全称Sum of Squared Differences,
用一张图来说明过程.
第二行的意思是, 由于求的是SSD最小值, 可以吧非负数去掉.变号后求其最大值
这样就化为了求correlation最大值的问题
视频截图来源http://crcv.ucf.edu/videos/lectures/2012.php
这是opencv 2 cookbook那本书里的一个内容, 其中用了FastFeatureDetector
过程就是先从第一个图像找特征点, 用个矩形框出来当作模板,
然后与 第二个图像中 所有以特征点为中心的矩形框内的 图像比较是否能匹配.
我用书上的程序出了很多错误, 这里都调试好了, 结果在下面
版本原因, 书上下面这一条始终是使用不了, 创建方法变了, 详情见我的github
cv::FastFeatureDetector fastDet(80);
----------------------------
QT提示 error: no matching function for call to 'cv::FastFeatureDetector::FastFeatureDetector(int)'
cv::FastFeatureDetector fastDet(80);
^
----------------------------
---------------------------------------------------------------
出现
OpenCV Error: Assertion failed (i1 >= 0 && i1 < static_cast<int>(keypoints1.size())) in drawMatches, file /home/tau/opencv/opencv-3.1.0/modules/features2d/src/draw.cpp, line 209
这个没有记录更改的地方, 就不说了, 照着逻辑一条一条往下扒就行了.
----------------------------------------------------------------
还有一个地方, 就是他用了matches.erase(matches.begin()+25,matches.end());
我用这条时编译通过, 但是运行提示Segmentation fault (core dumped)
这个错误叫我好找阿, 一开始以为又是opencv函数内的问题, 应该是指针越界了,begin()+25这个地方
作者可能是只想找前25个特征点来匹配
--------------------------------
上效果
原图已删, 和下图相近
可以看到效果并不是太好, 我对这些参数没有研究, 最近也没什么时间来一点点试验
完整代码 我的github 传送门
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果 是一样的图片那效果必须很好阿
上一样的图
难道是patch选太小了吗
patch调大后虽然有些改变, 误匹配还是太多了, 不能接受
这两天用sift, surf ,ORB 之类的试下,
opencv虽然都有相应的函数, 但是现在都已经移到opencv_contrib 额外包上去了
光调用函数也不是个办法, 先学学算法再说吧
---------------------2016.04.13 21: 30
看到有说归一化的, 归一化了一下
结果是全部误匹配.
什么原因呢?
看了归一化后的patch, 全部是黑色的!! 归一化最大值是1! SSD 方法相差的并不多
换种方式呢? correlation 还是不怎么好
所以这些方法(SSD,cross correlation等) 效果哪个好还真不好说
感觉都不太好. 当然了, 这两个图片还是不一样的, 无论是光照,角度,尺度
--------------2016.4.13 22:27
- opencv特征匹配之SSD
- opencv之特征检测与匹配
- opencv之特征检测与匹配(三)
- opencv学习之 特征检测与匹配
- OpenCV Surf特征匹配
- 初学opencv/特征匹配
- opencv之SURF特征点提取及匹配
- 【OpenCV】SURF算法之视频图像实时特征点匹配
- opencv sift特征及匹配
- opencv-特征匹配及其优化
- OpenCV中的SURF特征匹配
- opencv(31)---SIFT特征匹配
- opencv特征检测与匹配
- OpenCV探索之路(二十三):特征检测和特征匹配方法汇总
- OpenCV实践之路——Qt中用opencv提取和匹配SIFT特征点
- OpenCV实践之路——Qt中用opencv提取和匹配SIFT特征点
- ASIFT+OpenCV图像特征匹配实战
- OpenCV-基于特征点的图像匹配
- 如何使用ajax将json传入后台数据
- 寻找第n个数 与前n个数的几种方法
- leetcode229-Majority Element II(数组中出现最多的数II)
- 数据结构 - ★★知识点
- dedecms v5.7 整合discuz x3.2 双向同步登录退出(2016年4月2号)
- opencv特征匹配之SSD
- httpClient post请求设置
- 关于 android基础知识点整理
- POJ 1330Nearest Common Ancestors
- Java序列化机制和原理
- LeetCode题解--4. Median of Two Sorted Arrays
- 持续更新--js、css前端记录
- Linux(Fedora)下安装DB2 客户端
- 深度探索C++对象模型(1)