SIFT,SUFT等具有知识产权的算法将不能在opencv4中使用

sift, suft等注册了知识产权的算法将不能在opencv4中使用,原先在opencv3中能正常使用的代码sift = cv2.xfeatures2d.SIFT_create()将提示AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'。原因是这些算法都是non-free的算法,因此opencv官方用 OPENCV_ENABLE_NONFREE 在源代码中对其编译进行了限制,但是其sift,suft算法的具体源码在opencv4中还是存在的,只是没有编译而已,因此如果实在需要在opencv4中调用这些函数,只能重新自己编译,而不能直接安装二进制的编译好的文件了。具体见[1]。

或者对opencv4没有什么特别需求的话,还是回滚回opencv3吧,没有了sift这些算法,好多基础算法都会受到影响了,比如特征点匹配什么的,在立体视觉里面用得很广。

Reference

[1]. https://github.com/skvark/opencv-python/issues/126

发布了111 篇原创文章 · 获赞 206 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/LoseInVain/article/details/102945633