在OpenCV3.1.0中使用SIFT,SURF算法
来源:互联网 发布:淘宝怎么买看片的账号 编辑:程序博客网 时间:2024/05/19 20:56
在OpenCV3.1.0中使用SIFT,SURF算法
写在前边:
1.我使用的是python2.7 + OpenCV3.1.0
2.OpenCV3.0.0+的文档有很大问题,很多文档写的还是OpenCV2.0+, OpenCV3.0+根本用不了,其中有一部分原因是,有一些函数被放在了opencv_contrib这个模块里边,需要把这个扩展模块另外编译进去才可以用。官方的说法是,那些还不十分稳定的函数模块都被放在了opencv_contrib模块里边,因为不稳定,所以不能放在release里边,在opencv_contrib里边调好之后才会放入release里边。
3.要想在OpenCV3.0+中直接使用SIFT, SURF算法,需要现安装扩展模块opencv_contrib。这两个算法都在这个扩展模块的xfeatures2d模块里。在这里可以找到https://github.com/Itseez/opencv_contrib/tree/master/modules/xfeatures2d/src
注:安装扩展模块opencv_contrib 参考我的另一篇文章:http://www.cnblogs.com/asmer-stone/p/5089764.html
下边是在OpenCV3.1.0中调用SURF算法的代码surf.py:
(调用SIFT算法和这个一样,只需要把代码中所有的surf换成sift即可)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import
cv2
img = cv2.imread(
'1.jpg'
)
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
surf = cv2.xfeatures2d.SURF_create()
kp = surf.detect(gray,None)
img = cv2.drawKeypoints(gray, kp, img)
cv2.imshow(
"img"
, img)
k = cv2.waitKey(0)
if
k & 0xff == 27:
cv2.destroyAllWindows()
结果:
阅读全文
0 0
- 在OpenCV3.1.0中使用SIFT,SURF算法
- 在OpenCV3中SIFT,SURF等算法去哪了?
- OpenCV3如何使用SIFT和SURF Where did SIFT and SURF go in OpenCV 3?
- python3.5 opencv3.1 不能使用sift, surf。
- SIFT/SURF算法介绍
- openCV3.1中的sift和surf编译
- Ubuntu下在openCV3.2中配置opencv_contrib,然后使用SURF算子
- opencv SURF、SIFT的使用
- opencv3中SURF特征提取
- surf算法原理、sift算法原理详解
- SIFT算法和SURF算法区别
- SIFT/SURF算法的通俗理解
- 转载SIFT/SURF算法的通俗理解
- SIFT/SURF算法的深入剖析
- SIFT/SURF算法的通俗理解
- SIFT & SURF
- SURF&SIFT
- OpenCV3.1 xfeatures2d::SIFT 使用
- div+background-image和img标签的选择
- spring的BeanFactory和ApplicationContext的区别
- python爬虫--连接MongoDB 存数据
- Repository does not allow updating assets 解决方法
- Android常用的依赖和权限
- 在OpenCV3.1.0中使用SIFT,SURF算法
- 精简Miui9
- Jenkins 自动构建之日程表配置
- SSL协议详解
- java设计模式:工厂方法模式
- 数据库SQL优化大总结之 百万级数据库优化方案
- JavaWeb学习
- node.js url模块
- Building of Kaldi VS2015 Project on Windows