opencv4.10不能使用sift = cv2.xfeatures2d.SIFT_create()

博客主要讲述Python 3.6使用OpenCV时,SIFT功能报错的问题。原因是SIFT算法已申请专利,在OpenCV 3.4.3.16版本后该功能无法使用。给出两种解决方法,一是将版本退回到3.4.3以前,二是重新编译OpenCV,但作者未尝试后者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python3.6

报错:

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'
 

原因:sift已经被申请专利了,所以,在opencv3.4.3.16 版本后,这个功能就不能用了。

解决方法(一):

把版本退回到3.4.3以前:

pip install opencv-python==3.4.2.16

pip install opencv-contrib-python==3.4.2.16

如果python环境是使用anaconda建的:也用pip安装。。。我一开始用conda安装,出现.dll的错误。

解决方法(二)

自己重新编译opencv, (我没有试,还是因为懒吧,有能用的就行,哈哈哈)

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值