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

Win*_*ntu 3 opencv pycharm python-3.x ubuntu-16.04 opencv-contrib

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

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

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

请帮忙。谢谢。

Ric*_* M. 5

在 OpenCV 3 中,非自由模块,即SIFT 和 SURF由各自的创建者获得专利,已从默认的 OpenCV 安装中移出并移至opencv_contrib包中。opencv_contrib中的实现不是默认安装的,你需要在编译和安装 OpenCV 时显式启用它们才能访问它们。

要访问原始的SIFT和SURF实现在OpenCV中2.4.X(版本,这些实现默认安装)发现,你将需要拉下双方OpenCV的opencv_contrib从GitHub库,然后编译并从源代码安装OpenCV3。

尽管我想为您提供执行此操作的步骤,但我想归功于在线提供的一个教程来执行此操作。所以,按照这个甜蜜的教程 - 在 Ubuntu 上安装 OpenCV 3.0 和 Python 3.4+,你应该能够使用这些实现。此外,我建议查看ORB,它是 SIFT 和 SURF 的更快、免费的替代品,但不确定它是否能满足您的目的。

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

设置 -> 项目 -> 项目解释器 -> +

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