【问题标题】:opencv macport python bindingsopencv macport python 绑定
【发布时间】:2011-04-10 12:53:57
【问题描述】:

使用 MacPorts 安装 OpenCV 似乎不会在任何地方安装 python 绑定。是否包括在内,他们去哪里了?

【问题讨论】:

  • 你有没有得到这个与以下任何答案一起工作?

标签: python opencv macports


【解决方案1】:

您是否为MacPorts port 选择了+python26 变体?

$ sudo port install opencv +python26

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。似乎已构建并安装了 OpenCV Python 绑定,但未在“站点包”目录中引用它们。我找到了一个解决方案,方法是在 MacPorts 安装的 Python 包的“site-packages”目录中添加一个符号链接到构建的“cv.so”文件。这些说明在使用 Mac OS 10.6.6 的设置上进行了测试。主题 MacPorts 包是“python27”和“opencv”。

    为确保 Python 绑定实际在您的驱动器上,您需要确保使用 python 变体调用了 opencv 包:

    sudo port install opencv +python27
    

    “cv.so”共享对象文件将构建在以下目录中:

    /opt/local/@@PYTHON_PKGD@@
    

    有必要在 Python 的“站点包”目录中创建符号链接。您可以通过在 Python 解释器中执行以下命令来找到该目录的路径:

    from distutils.sysconfig import get_python_lib
    print get_python_lib()
    

    返回的路径应该类似于以下:

    /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
    

    在此目录中创建指向共享对象(“cv.so”)的符号链接:

    ln -s /opt/local/@@PYTHON_PKGD@@/cv.so /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cv.so
    

    现在您应该可以在解释器中导入 cv 模块了:

    import cv
    

    如果您使用不同版本的 Python 或 OpenCV,您的设置可能会略有不同;但是,除了路径名之外,一般方法应该是相同的。可能有更好的方法来做到这一点,但这种方法似乎效果很好。

    【讨论】:

      【解决方案3】:

      这应该安装在

      /Library/Python/2.6/site-packages
      

      如果你使用 sudo port install ..

      目录 2.6、2.5 .. 将取决于路径上的 python 版本。

      感谢 Ned,更正上述内容 - 这些是 mac os x 发行版。

      Macports 确实把所有东西都放在了:

      /opt/local/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/site-packages

      【讨论】:

      • 不太可能。除了几个例外,MacPorts 竭尽全力在其自己的根目录以外的任何地方安装任何东西,默认情况下是/opt/local/。 MacPorts python2.6 在其/opt/local/Library/Frameworks/Python.framework 目录树中安装站点包。
      【解决方案4】:

      一定要安装py26-numpy以支持cv.fromarray等基本功能:

      sudo port install py26-numpy
      

      opencv 将在没有 numpy 的情况下静默编译(它不是 严格 依赖项)。

      sudo port install -v opencv +python26
      

      在那里你可以检查到 numpy 的绑定是否有效。

      【讨论】:

        【解决方案5】:

        这是我必须做的:

        第一步

        使用 Macports 安装 opencv。

        第二步

        将这两个文件放在您的PYTHONPATH 上的某个位置(例如在您的site-packages 中):

        第三步

        创建以下软链接(因为 cv2.so 期望 dylib 位于 /usr/local 但 MacPorts 安装到 /opt/local):

        cd /usr/local/lib/
        ln -s /opt/local/lib/libopencv_core.2.3.dylib libopencv_core.2.3.dylib
        ln -s /opt/local/lib/libopencv_flann.2.3.dylib libopencv_flann.2.3.dylib
        ln -s /opt/local/lib/libopencv_imgproc.2.3.dylib libopencv_imgproc.2.3.dylib
        ln -s /opt/local/lib/libopencv_video.2.3.dylib libopencv_video.2.3.dylib
        ln -s /opt/local/lib/libopencv_ml.2.3.dylib libopencv_ml.2.3.dylib
        ln -s /opt/local/lib/libopencv_features2d.2.3.dylib libopencv_features2d.2.3.dylib
        ln -s /opt/local/lib/libopencv_highgui.2.3.dylib libopencv_highgui.2.3.dylib
        ln -s /opt/local/lib/libopencv_calib3d.2.3.dylib libopencv_calib3d.2.3.dylib
        ln -s /opt/local/lib/libopencv_objdetect.2.3.dylib libopencv_objdetect.2.3.dylib
        ln -s /opt/local/lib/libopencv_legacy.2.3.dylib libopencv_legacy.2.3.dylib
        ln -s /opt/local/lib/libopencv_contrib.2.3.dylib libopencv_contrib.2.3.dylib
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-02
          • 1970-01-01
          • 2017-05-25
          • 2012-03-17
          • 2012-02-26
          • 2011-01-03
          相关资源
          最近更新 更多