【问题标题】:Install OpenCV from source or via Pip?从源代码还是通过 Pip 安装 OpenCV?
【发布时间】:2020-03-03 08:32:27
【问题描述】:

我见过两种安装 OpenCV 的方法(可能还有更多我不知道的方法):

  1. 从源安装
  2. 使用 pip 安装:pip install opencv-python

我的问题是,为什么我们需要从源代码安装 OpenCV 而我们可以简单地使用 pip 安装它?由于人们都在使用它们,因此两者都必须有用。如果是的话,有什么条件可以选择其中之一?

【问题讨论】:

  • 你怎么知道pip install不克隆源代码,然后编译?
  • 在某些情况下,pypi 由外部开发人员维护,或者有未发布的 beta 分支。在这种情况下,您将克隆并安装官方源代码。这同样适用于任何没有自动发布的开源项目。
  • 我从 pip 安装它时遇到问题。并非所有功能都可用。因此,从源代码安装它,它运行良好。但这是大约一年前的事了,现在可能不一样了。
  • 不是因为从源代码安装可以使安装更具可配置性吗?例如,我不久前安装了 opencv 3.4.2 并使用 libjpeg-turbo 作为 JPEG 编解码器。我不确定您是否可以使用 pip install 来做到这一点。
  • @cricket_007 也许安装不到一分钟而不是一小时?很容易发现差异。

标签: python opencv deep-learning computer-vision


【解决方案1】:

我会列出两者之间的区别

1.

使用 pip 安装

安装在所有 python 包所在的默认位置完成。

从源安装

安装位置由开发商提供。

2.

使用 pip 安装

在性能方面,安装的包可能会因为功能之间隐藏的冲突而运行较慢。

从源安装

开发者可以在编译包的过程中选择优化标志,负责库的快速性能。

3.

使用 pip 安装

开发者既不能添加也不能删除 pip 安装中提供的功能。

从源安装

开发者拥有在库安装过程中添加或删除功能的所有权利。

4.

使用 pip 安装

包管理器将代表开发人员完成工作。包管理器还负责处理库更新。

从源安装

开发人员负责库的功能选择和更新。他们必须了解新的软件包更新、最新的安全补丁等,以使自己了解有关库的最新信息。

希望对您有所帮助!

【讨论】:

  • 打包一个较慢的主要原因不是因为隐藏的冲突和其他东西(我什至不知道你的意思是什么),而是因为打包一个是为(低于?)平均编译的计算机,以便它可以在大多数计算机上运行。当您自己编译 opencv 时,如果您的计算机有能力,您可以启用更多使用 AVX、GPU(CUDA) 等的优化。如果你有它们,它也可以使用一些数学库。
【解决方案2】:

OpenCV 一直在开发中,问题是由于兼容性和版权问题,库的某些部分不会发布,但如果您使用源代码,那么您可以获得所需的所有功能。 SURF 和 SIFT 就是这个问题的例子。

【讨论】:

    猜你喜欢
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2015-08-19
    相关资源
    最近更新 更多