VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法

打开anaconda prompt
pip install python==3.6

下面两个网站上下载opencv-python-3.4.2.17.whl、 opencv-contrib-python-3.4.2.17-cp36-win-amd64.whl(64位windows系统)

https://pypi.python.org/pypi/opencv-python

https://pypi.python.org/pypi/opencv-contrib-python

VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第1张图片

 VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第2张图片

 注意图中有yanked红色标签的whl轮子,是已经弃用了的,不要下载。版本高于3.4.3的也不要下载,太高的版本已经把SIFT划分为nonfree模块中了。VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第3张图片

 VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第4张图片

 在anaconda prompt中打开新建的环境,切换到轮子文件下载文件夹

activate py36
cd downloads
pip install opencv_python-3.4.2.17-cp36-cp36m-win_amd64.whl
pip install opencv_contrib_python-3.4.2.17-cp36-cp36m-win_amd64.whl

然后opencv环境就安装好了。打开VSCode试验一下代码。

import cv2 as cv
def SURF_t(img):
    img1=img
    surf=cv.xfeatures2d.SURF_create()    #SURF示例创建
    kp,des=surf.detectAndCompute(img1,None)    #计算返回值
    img1=cv.drawKeypoints(img1,kp,None,(0,255,0))    #画图,绿色原点
    cv.namedWindow('SURF',cv.WINDOW_NORMAL) #sift 算法专利已经到期了
    cv.imshow('SURF',img1)
    cv.waitKey(0)
    cv.destroyAllWindows() 
def SIFT_T(img):
    img2=img
    sift=cv.xfeatures2d.SIFT_create()    #SIFT示例创建
    kp=sift.detect(img2,None)    #计算返回值
    img2=cv.drawKeypoints(img2,kp,img2)    #画图,绿色原点
    cv.namedWindow('SIFT',cv.WINDOW_NORMAL) 
    cv.imshow('SIFT',img2)
    cv.waitKey(0)
    cv.destroyAllWindows()
if __name__ == '__main__':
    img=cv.imread('img_save\\2021121510470.jpg',0) #图片相对路径
    SIFT_T(img)
    SURF_t(img)

VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第5张图片VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第6张图片

 关于SIFT专利到期的事情,CSDN网站上很多2018年的文章,大多是让降低环境,如果只是想用SIFT算法的话,安装高版本的OPencv中已经嵌入了SIFT算法,CV2.SIFT_CREATE()就能调用。至于想用SURF/SIFT等NONFREE模块算法时,opencv-contrib-python.whl轮子里面没有编译这些专利算法,原因在官网有声明:

VSCode配置opencv-python+opencv-contrib-pyhton实现SIFT和SURF等xfeatures2d模块的角点检测算法_第7张图片

大致意思是专利算法,官方不适合去发行和出版,你要是想用的话,自己掂量着来。

OK,学习总结MARK一下。 

你可能感兴趣的:(opencv,python,vscode)