zoukankan      html  css  js  c++  java
  • 在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()
    

    结果:

  • 相关阅读:
    01前端-html
    2-3程序流程
    2-2视频缓存池
    2-1图像像素格式深度理解
    3.1.1 文件系统介绍
    3.1.4 文件属性
    CentOS开放端口的方法
    宝塔linux面板命令大全
    如何卸载Win10 RS3上预装的office2016
    win10家庭版升级专业版的两种方法和密钥
  • 原文地址:https://www.cnblogs.com/asmer-stone/p/5090263.html
Copyright © 2011-2022 走看看