如何为 python 安装 OpenCV

Posted

技术标签:

【中文标题】如何为 python 安装 OpenCV【英文标题】:How to install OpenCV for python 【发布时间】: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 一起工作?

【问题讨论】:

我发布了一个blog post,展示了如何在 Snow Leopard 上安装 OpenCV 2.1。也许你可以看看。 谢谢,但它对我不起作用:( 您是否遇到同样的错误? ***.com/questions/19891790/… 【参考方案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 检查如果这件事有效,请告诉我。

【讨论】:

以上是关于如何为 python 安装 OpenCV的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Python 安装 OpenSSL

如何为 python 安装 OpenCV

如何为python安装不同版本的模块

如何为python安装解析器库[重复]

如何为 Python 3.6 安装 PIL/Pillow?

如何为python安装子进程模块?