opencv-python版本如下:
3.4.2.16,
3.4.2.17, 该版本以后,opencv不支持(原因是这些特征提取受专利保护,收费的了)
sift = cv2.xfeatures2d.SIFT_create()
surf = cv2.xfeatures2d.SURF_create()
3.4.3.18,
3.4.4.19,
3.4.5.20,
3.4.6.27,
3.4.7.28,
4.0.0.21,
4.0.1.23,
4.0.1.24,
4.1.0.25,
4.1.1.26
所以,如果想使用opencv的sift等相关特征提取,需要降低版本,或者编译sift,surf特征模块。相关编译连接如下:
https://www.cnblogs.com/gengyi/p/10499964.html
如果安装的版本比较新,则调用sift特征会出现以下错误:
Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'cv::xfeatures2d::SIFT::create'。
其中如果需要opencv的格外模块,则需要安装opencv-contrib-python,而不是opencv-python。