java opencv surf_在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即可)

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()

结果:

2c2cc8a6ef5217f40f85a92753350c36.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV_contrib库添加到OpenCV 3.1.0需要按照以下步骤进行操作: 1. 下载OpenCV_contrib库:打开浏览器,进入OpenCV官方网站(https://opencv.org/),找到对应版本(OpenCV 3.1.0)的OpenCV_contrib库。下载完成后,解压缩库文件。 2. 下载CMake工具:进入CMake官方网站(https://cmake.org/),下载适用于Windows的CMake安装程序。 3. 安装CMake工具:运行下载的CMake安装程序,按照提示进行安装。安装完成后,在开始菜单找到“CMake”文件夹,打开“CMake”文件夹,然后打开“CMake (cmake-gui)”。 4. 配置CMake:在CMake GUI界面,点击“Browse Source”按钮,选择OpenCV 3.1.0源代码文件夹。然后,在“Browse Build”按钮旁边的输入框,输入一个新的文件夹路径,用于生成OpenCV 3.1.0的构建文件。点击“Configure”按钮,选择合适的编译器,然后点击“Finish”按钮等待配置完成。 5. 配置OpenCV_contrib库:在CMake GUI界面,找到“OPENCV_EXTRA_MODULES_PATH”选项,将其设置为Opencv_contrib库所在文件夹的路径。点击“Configure”按钮,等待配置完成。 6. 编译OpenCV 3.1.0:点击CMake GUI界面的“Generate”按钮,生成OpenCV 3.1.0的构建文件。然后,在命令提示符,进入OpenCV 3.1.0构建文件所在的路径。运行以下命令编译OpenCV 3.1.0: ```shell cmake --build . --config Release ``` 等待编译过程完成。 7. 添加环境变量:将OpenCV 3.1.0编译生成的bin文件夹添加到系统的环境变量PATH,以便能够在命令提示符直接运行OpenCV命令。 8. 完成:至此,你已经成功将OpenCV_contrib库添加到OpenCV 3.1.0了。您可以在编程项目使用OpenCV_contrib库的功能了。 请注意,这只是一种添加OpenCV_contrib库的方法,具体步骤可能会因不同的环境和配置而有所差异。因此,建议在操作前仔细阅读官方文档和教程,并参考可信的技术资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值