我试图通过Anaconda为Python安装OpenCV,但我似乎无法解决这个问题。
我试着
conda install opencv
conda install cv2
我也试着搜索
conda search cv
没有雪茄。我无意中看到这个列出了opencv作为一个包含包:
http://docs.continuum.io/anaconda/pkgs.html
在运行conda info后,我注意到我的版本是3.4.1,但我似乎在网上找不到任何关于这个版本的信息。我对此很困惑。
我是不是遗漏了一些很明显的东西?如果opencv可用于Anaconda的以前版本,那么为什么它不能用于新版本呢?为什么这个链接只显示版本1.9.2的文档?
下面是使用conda安装适用于Python的包的一般方法:
conda search packageName e.g. conda search opencv
If this doesn't return results, conda install packageName will not work.
At this point you can go to, https://anaconda.org/ and type the packageName into the search box. If this pulls up results (which it should for OpenCV), then click on one of the results that is for your platform (e.g. win-64). The next page will show you the command to use to install this package (e.g. conda install -c menpo opencv=2.4.11).
If your package doesn't return results by search https://anaconda.org, then you can try pip install packageName.
注意:当我使用步骤3为win-64安装OpenCV时,当我试图导入cv2时,我得到了一个错误。
错误如下:
RuntimeError: module compiled against API version a but this version of numpy is 9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray导入失败
我认为这个错误是由于软件包版本冲突。尽管如此,这是安装OpenCV和其他Python包的有效方法,只是可能需要解决一些包的版本冲突。
下面是使用conda安装适用于Python的包的一般方法:
conda search packageName e.g. conda search opencv
If this doesn't return results, conda install packageName will not work.
At this point you can go to, https://anaconda.org/ and type the packageName into the search box. If this pulls up results (which it should for OpenCV), then click on one of the results that is for your platform (e.g. win-64). The next page will show you the command to use to install this package (e.g. conda install -c menpo opencv=2.4.11).
If your package doesn't return results by search https://anaconda.org, then you can try pip install packageName.
注意:当我使用步骤3为win-64安装OpenCV时,当我试图导入cv2时,我得到了一个错误。
错误如下:
RuntimeError: module compiled against API version a but this version of numpy is 9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray导入失败
我认为这个错误是由于软件包版本冲突。尽管如此,这是安装OpenCV和其他Python包的有效方法,只是可能需要解决一些包的版本冲突。
在Linux上,正如这里所讨论的,目前获得opencv的最佳方法是在conda-forge的loopbio:
conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv
如果你有一个“现代CPU”,也会有一个编译版本“支持所有现代CPU指令集扩展[…]]和反对libjpeg-turbo":
conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv-turbo`
其他答案中提到的两个解决方案并不无条件有效:
The conda you get through conda install opencv or pip install opencv-python doesn't have gtk2 support, so you can't display images through imshow.
Conda built by Menpo (conda install -c menpo opencv3) has gtk2 support, but
they have only built OpenCV 3.2 for Python 3.5, not Python 3.6
Ubuntu 16.10 has deprecated libpng12, leading to a missing dependency and the following error when trying to import cv2: ImportError: libpng12.so.0: cannot open shared object file: No such file or directory, as discussed here
编辑:@Yamaneko指出,截至2017年6月14日,“loopbio的OpenCV 3.2.0版本存在一个问题。无声地读写视频失败。这是由于上游OpenCV问题与旧GCC的结合。详情请点击这里。有一个公关正在解决这个问题。”