【问题标题】:Error in installing opencv3 with homebrew and python3使用 homebrew 和 python3 安装 opencv3 时出错
【发布时间】:2017-08-24 02:24:38
【问题描述】:

我正在使用自制软件在 OSX(EI Captain)上安装 opencv3,

brew install opencv3 --with-contrib --with-python3 --HEAD

并且发生了错误:

Updating Homebrew...
==> Installing opencv3 from homebrew/science
==> Cloning https://github.com/opencv/opencv.git
Updating /Users/ksun/Library/Caches/Homebrew/opencv3--git
==> Checking out branch master
==> Cloning https://github.com/opencv/opencv_contrib.git
Updating /Users/ksun/Library/Caches/Homebrew/opencv3--contrib--git
> ==> Checking out branch master
Error: No such file or directory - /private/tmp/opencv3-20170330-14255-bxsn05/3rdparty/ippicv/downloader.cmake

你们能帮我找出解决方法吗?

【问题讨论】:

    标签: opencv cmake homebrew opencv3.0 opencv3.1


    【解决方案1】:

    我遇到了同样的问题。我通过运行brew install opencv3 --with-contrib --with-python3解决了它

    我认为发生的事情是人们更新了 repo 中的 ../3rdparty/ippicv 文件夹,使得 downloader.cmake 文件不再存在,但他们尚未更新冲泡公式。

    没有--HEAD 的brew install 将构建对我来说足够好的opencv3.2.0。

    【讨论】:

    • 什么是 --HEAD ?
    • 我现在了解了 HEAD。这是一个最前沿的 github 版本,可以避免某些错误(尤其是 mac os sierra QTKit)
    【解决方案2】:

    我做brew edit opencv3,然后评论下面一行

    inreplace buildpath/"3rdparty/ippicv/downloader.cmake",
      "${OPENCV_ICV_PLATFORM}-${OPENCV_ICV_PACKAGE_HASH}",
      "${OPENCV_ICV_PLATFORM}"
    

    然后你可以用--HEAD重新安装

    opencv 存储库修复了一些问题,还删除了文件3rdparty/ippicv/downloader.cmake,因此无需再对其进行修补。但是他们没有发布新版本,所以要安装--with-contrib,您必须使用--HEAD安装,但禁用文件3rdparty/ippicv/downloader.cmake的补丁

    【讨论】:

    • 这对我有用,但仅供参考,您在代码块中有错字(ippicv/ippicv.cmake 应该是 ippicv/downloarder.cmake
    • 什么是 --HEAD 以及我们为什么需要它?
    • 如果 --HEAD 被传递,并且公式定义了它,安装 HEAD 版本,又名 master,trunk,unstable。在这个 OpenCV 案例中,它从 github 下载源代码,编译并安装
    • 好的,我了解了 HEAD,。 --HEAD :“--HEAD 开关不是编译标记的 OpenCV 版本(即 v3.0、v3.1 等),而是从 GitHub 克隆 OpenCV 的前沿版本。我们为什么要这样做? 很简单。我们需要避免使用当前标记的 OpenCV 3 版本困扰 macOS Sierra 系统的 QTKit 错误(有关更多信息,请参阅本博文的“避免 QTKit/QTKit.h 文件未找到错误”部分)“
    【解决方案3】:

    我已经通过以下方式解决了这个问题:

    $ brew edit opencv3
    

    找到以下代码块并注释所有 4 行:

    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 install 命令安装:

    $ brew install opencv3 --with-contrib --with-python3
    

    参考:http://www.pyimagesearch.com/2017/05/15/resolving-macos-opencv-homebrew-install-errors/

    【讨论】:

      【解决方案4】:

      当我搜索 OpenCV Java 问题时,这是第一个结果。我正在为任何使用 OpenCV Java 的人发布我的答案,以发现它也很有用。

      我在关注这篇文章:https://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html

      brew tap homebrew/science 
      brew install opencv3 --HEAD --with-contrib --with-java
      

      我尝试从上述命令中删除--HEAD,我能够成功安装它。

      brew install opencv3 --with-contrib --with-java
      

      根据这篇文章:https://github.com/Homebrew/homebrew-science/issues/5498

      【讨论】:

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