【问题标题】:Install OpenCV correctly on macOS Sierra在 macOS Sierra 上正确安装 OpenCV
【发布时间】:2017-10-13 09:13:25
【问题描述】:

我在 macOS Sierra 上运行,并且我的系统上安装了 python 3.5.2。 现在我想将opencv与python一起使用。所以这就是我所做的:-

  1. 已安装 XCode
  2. 已安装 CMAKE
  3. 下载 opencv 3.2 并解压到我的 Document 目录。
  4. 在 Document 的我的 opencv 目录中创建了一个名为 build 的新目录(从第 3 步获得)
  5. 打开 CMAKE 并将其配置为使用 source 作为 Document 中的 opencv 目录和 target 作为其中的 build 目录运行。
  6. 从“build”目录运行“make”命令
  7. 运行“sudo make install”

所有这些步骤都已成功完成。现在我转到 IDLE 3.5.2 shell 并执行“import cv2”,然后我收到错误“ImportError: No module named cv2”

我尝试了其他解决方案,例如 pip3 install opencv-python。它消除了导入错误,但我不能使用它,因为它不支持 cv2.imshow()(我有点需要它)。

请帮我正确安装和配置opencv。

【问题讨论】:

  • 1) 之后您是否运行过xcode-select --install? 2)如何? 5) 你跑cmake了吗?如果有,具体是怎样的?
  • 不,我没有运行 xcode-select --install。我应该什么时候完成这个(在哪一步之后)?对于 CMAKE,我从 cmake.org 安装了应用程序并运行(启动它)。一旦 cmake 生成文件,我打开终端并导航到放置生成文件的目录(在我的例子中是“build”目录)并执行命令“make”。制作完成后,我从同一个终端窗口运行“sudo make install”。
  • xcode-select --install 应该在 1) 之后,这就是我这样标记它的原因:-)
  • 您在运行cmake 时使用了哪些开关?
  • @MarkSetchell:谢谢你的澄清。 “开关”是指cmake 应用程序提示我选择的“项目生成器”吗?我继续使用“Unix makefiles”。

标签: python-3.x opencv opencv3.0 macos-sierra


【解决方案1】:

我发现的一个问题是安装时创建的 .so 库的名称。尝试将其重命名为 cv2.so 而不是以它开头的较长名称。

在我的系统上可以在这里找到:

/usr/local/opt/opencv/lib/python3.6/site-packages

另外,您可以确认上面的 site-packages 文件夹可以通过 sys.path 访问。

>>> import sys
>>> sys.path

如果没有,您可以在其中一个目录中创建一个 .pth 文件,该文件仅包含上述站点包文件夹的路径名。

【讨论】:

    【解决方案2】:

    如果您仍然卡住,您可以通过 brew 尝试,几周前进行了全新安装,这是完整的过程。 由于 opencv 默认安装不支持 python2 & 3(进一步阅读)

    brew edit opencv3
    

    在公式中编辑这部分:

    if build.with?("python3") && build.with?("python")
      # Opencv3 Does not support building both Python 2 and 3 versions
    odie "opencv3: Does not support building both Python 2 and 3 wrappers"
    end
    

    通过注释掉它(# 在起始行)。

    然后: brew reinstall opencv3 --with-contrib --with-python3 --HEAD

    如果您有 cmake.downloader 错误,您需要编辑 brew 调用并删除 --HEAD 标志。 此错误只是由于头存储库中缺少一个文件(可能很快会修复)。

    还要检查您的站点包/python 版本

    【讨论】:

      猜你喜欢
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      相关资源
      最近更新 更多