【问题标题】:How to install OpenCV for python如何为 python 安装 OpenCV
【发布时间】:2011-03-20 12:36:41
【问题描述】:

嗨!我正在尝试安装 opencv 并将其与 python 一起使用,但是当我编译它时,我没有收到任何错误,但我无法从 python 导入 cv 模块:

patrick:release patrick$ python
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cv

我用来编译它的代码是这样的:

cd opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON
make
sudo make install

我怎样才能让它与 python 一起工作?

【问题讨论】:

标签: python macos opencv


【解决方案1】:

你可以试试ctypes-opencv——不知道为什么用-D BUILD_PYTHON_SUPPORT=ON构建和安装对你不起作用(也许它不知道在osx中​​安装Python包装器的位置......?),但是ctypes 包装器理论上应该可以正常工作。

【讨论】:

  • build_python 指令似乎不起作用,因为它没有创建 cv.pyd(它只创建 cv.so)。无论如何,我只是尝试了 ctypes-opencv 并收到此错误:dpaste.com/221536
【解决方案2】:

我在这里找到了一种为 python 安装 opencv 的方法:http://recursive-design.com/blog/2010/12/14/face-detection-with-osx-and-python/ :)

【讨论】:

  • 它同样适用于 Linux,而不仅仅是 OSX。重要的一步是根据cv.so的安装位置定义PYTHONPATH环境变量。
【解决方案3】:

如果您想在 Windows 中进行简单快速的安装,可以下载Python(x,y)。此发行版包括 OpenCv。请务必在安装设置中指定要安装 OpenCV,因为默认情况下不安装它。

【讨论】:

  • 谢谢,但我目前在 os x 上 :)
  • @insys 我修复了链接。
【解决方案4】:
brew tap homebrew/science
brew install opencv
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

【讨论】:

  • 我认为当您对您的意图添加一些解释时,这对OP和进一步的访问会更有帮助。
【解决方案5】:

我们可以使用 home-brew 为 Mac OS X 安装 opencv for Python。

首先,安装自制软件:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

您可以查看有关如何安装自制软件的详细信息。 http://brew.sh

如果不安装Python,安装python(brew会安装python2.7):

brew install python

也许你想安装 Python3:brew install python3

然后为 Python3 安装 opencv3:

brew install opencv3 --with-python3

如果你想为 Python(Python2.7) 安装 opencv3:brew install opencv3 --with-python

或为 Python3 安装 opencv2:brew install opencv --with-python3

或者如果你想为 Python3 安装 opencv2:brew install opencv --with-python3

最后,也许你会将 opencv 的站点包链接到 Python 的站点包。

注意:以下命令中/usr/local/opt/opencv3/lib/python3.5/site-packages是opencv3的site-packages目录,/usr/local/lib/python3.5/site-packages/是Python3.5的site-packages目录。

也许您应该将这两个更改为您自己的 OPENCV 和 PYTHON site-packages 目录。

echo /usr/local/opt/opencv3/lib/python3.5/site-packages >> /usr/local/lib/python3.5/site-packages/opencv3.pth

【讨论】:

    【解决方案6】:
    easy_install pip
    pip install opencv-python --user
    export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
    

    也许你会使用sudo

    而且安装的路径可能没有提到。

    【讨论】:

      【解决方案7】:

      这对我有用(将 python36 更改为您想要的任何版本)

      sudo port install opencv +avx2 +python36 +qt5 +contrib +eigen

      我得到了this error 并且不得不在那里应用补丁 (download link)

      应用补丁:

      sudo patch /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/opencv-3.2.0/modules/highgui/src/window_QT.cpp ~/Downloads/patch-cpp11-narrowing-error.diff
      

      然后再次运行sudo port install -N opencv +avx2 +python36 +qt5 +contrib +eigen

      【讨论】:

        【解决方案8】:

        使用虚拟环境时

        感谢@user495470。请按照以下步骤操作

        brew update
        brew install -v cmake 
        brew install opencv`
        

        如果第 1 部分不起作用,请遵循第 2 部分

        第 I 部分
        下一步可能会在某个时候起作用,尽管它对我不起作用
        export PYTHONPATH="/VENV_PATH/python2.7/site-packages:$PYTHONPATH"
        然后使用 import cvimport cv2 签入 python IDE 检查

        第 2 部分
        走这条路 /usr/local/Cellar/opencv/3.4.3/lib/python2.7/site-packages//usr/local/lib/python2.7/site-packages
        复制cv2.so文件
        在此处粘贴/VENV_PATH/lib/python2.7/site-packages
        然后使用 import cvimport cv2 签入 python IDE 检查

        如果这件事有效,请告诉我。

        【讨论】:

          猜你喜欢
          • 2015-04-05
          • 2019-04-27
          • 1970-01-01
          • 2014-01-24
          • 2011-03-02
          • 1970-01-01
          • 1970-01-01
          • 2020-03-12
          • 2014-05-31
          相关资源
          最近更新 更多