【OpenCV】2020年关于SIFT算法专利版权问题的解决办法
前⾔
OpenCV 3.4之后因专利版权问题移除了SIFT/SURF的相关库,因此在使⽤较新版本的cv库时会报错工程车辆
作文800字error: (-213:The function/feature is not implemented)学前班拼音拼读
This algorithm is patented and is excluded in this configuration;
Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function ‘cv::xfeatures2d::SIFT::create’有关青春的名人名言
怎样鉴定玉器⽽⽹上如今绝⼤多数解决⽅法都是回退OpenCV的版本+装contrib⽀持库,这样还意味着你需要回退或者创建⼀个⽀持3.4之前的python 版本虚拟环境(如py35、py36),总⽽⾔之就是相当⿇烦!
解决办法
好消息是2020年3⽉17⽇之后⼀代传奇算法SIFT专利到期了!因此只需更新cv版本即可免费使⽤!
如图,我这⾥使⽤的是4.4.0.44版本,已经可以成功跑起来了。
王者荣耀策划>spotlight后记
另外⼀个有趣的发现是,如果你沿⽤之前的代码即凉拌鱼皮的做法
descriptor = cv2.xfeatures2d.SIFT_create()
会出现⼀个warning
[ WARN:0] global c:\urs\appveyor\appdata\local\temp\1\pip-req-build-wwma2wne\opencv_contrib\modules\xfeatures2d\misc\python\shadow_sift.hpp (15) cv::xfeatures2d::SIFT_create DEPRECATED:
cv.xfeatures2d.SIFT_create() is deprecated due SIFT tranfer to the main repository.
这是因为新版本的SIFT可以直接引⽤,不再需要安装contrib包,即
descriptor = cv2.SIFT_create()
官⽅公告可参见