PyCharm:为SIFT,SURF等操作安装非免费的OpenCV模块

问题描述 投票:1回答:2

我想使用像SIFT,SURF等功能。我在使用OpenCV 3.4.1的虚拟机上使用Ubuntu 16.04并使用PyCharm作为IDE。

我可以打开Pycharm,创建一个项目,转到文件 - 设置 - 项目解释器并下载我需要的模块。我已经下载了opencv-python和opencv-contrib-python。

但我仍然无法使用上述功能。

请帮忙。谢谢。

python-3.x opencv pycharm ubuntu-16.04 opencv-contrib
2个回答
3
投票

使用OpenCV 3,非自由模块,即SIFT和SURF,由其各自的创建者获得专利,被移出默认的OpenCV安装并进入opencv_contrib包。默认情况下不会安装opencv_contrib中的实现,您需要在编译和安装OpenCV时显式启用它们以获取对它们的访问权限。

要访问OpenCV 2.4.X(默认情况下安装了这些实现的版本)中的原始SIFT和SURF实现,您需要从GitHub下载opencvopencv_contrib存储库,然后从源代码编译和安装OpenCV3。

尽管我想为您提供执行此操作的步骤,但我还是要赞扬一个在线可用的教程。因此,请遵循此sweet tutorial - Install OpenCV 3.0 and Python 3.4+ on Ubuntu,您应该能够使用这些实现。另外,我建议看一下ORB,它是SIFT和SURF的一种更快,免费的替代方案,但不确定它是否能满足你的需求。

如果您真的不想使用终端,请打开一个新项目,转到 - >

设置 - >项目 - >项目翻译 - > +

通过搜索它们来添加所需的模块,您应该能够使用它们。


3
投票

尝试使用SIFT和SURF时,我遇到了同样的问题。我尝试了很多方法,包括添加opencv-contrib,甚至使用visual studio编译opencv,但这些选项都不适用于我。我建议使用anaconda并使用本文中的方法show安装opencv。

How do I install Python OpenCV through Conda?

安装后使用

conda install -c menpo opencv

没有烦人的按摩“set OPENCV_ENABLE_NONFREE”我就能使用了

编辑:我需要在我的覆盆子pi上安装,而Anaconda在覆盆子pi上的工作方式不同。我做了一些研究,我发现如果你运行下面的命令,应该修复“NON_FREE /专利保护”错误。

pip install opencv-contrib-python == 3.4.0.12

© www.soinside.com 2019 - 2024. All rights reserved.