繁体   English   中英

OpenCV Python - 没有名为 cv2 的模块(再次)

[英]OpenCV Python - No module named cv2 (again)

我知道这个问题已经在这里被问过几次了,但由于到目前为止没有答案对我有帮助,我再次在这里发布。

我做了什么:

我克隆了存储库https://github.com/Itseez/opencv ,创建并更改到构建目录并使用以下命令编译 OpenCV。

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D BUILD_opencv_python2=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON -D WITH_CUDA=ON -D WITH_CUBLAS=ON -D CUDA_ARCH_BIN="2.0 3.0 3.5" ..
make
sudo make install

一切都编译得很好。 之后我将/usr/local/lib/etc/ld.so.conf.d/opencv.conf并执行sudo ldconfig 最后,我补充说

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

到我本地的 bashrc。 一切正常,我也可以执行 cpp 示例,但是一旦我尝试使用 python 示例或尝试在 python 中使用 OpenCV,我就会得到:

导入错误:没有名为 cv2 的模块

我根据其他帖子尝试过的事情:

  1. 手动将cv2.so复制到/usr/local/lib/python2.7/dist-packages :不起作用,因为我在任何地方都找不到 cv2.so。

  2. 缺少 numpy 或多个版本的 numpy:这里没问题,因为我只有一个版本的 numpy。

额外的:

我还使用主页上的最新来源尝试了相同的步骤:相同的结果。

我发现几个资源说正确的标志现在是BUILD_NEW_PYTHON_SUPPORT而不是BUILD_PYTHON_SUPPORT ,就像在早期版本中一样。 由于两者都不适合我,我使用了BUILD_opencv_python2 那是对的吗?

那么,这里可能有什么问题呢? 我的意思是,除了我的机器上没有 cv2.so 的事实。 顺便说一句,我使用 Ubuntu 14.04。

提前致谢。

正如@Malik Brahimi 指出的那样,我不确定如果您从源代码编译是否也是这种情况,但是当您使用自解压器时,您需要复制一个包含 Python 绑定的文件。 你做了这一步吗?

  1. 转到 opencv\\build\\python\\2.7 文件夹
  2. 将 cv2.pyd 复制到 C:\\Python27\\lib\\site-packeges

是一个取自 Ubuntu 14.04 和 WinPython 上的 Anaconda 的教程。 在 Linux 上,只需将文件复制到 Python 发行版的同一文件夹中,即 Python27/lib/site-packeges

我确实遇到了同样的麻烦。 但是查看(和遵循) 教程,似乎拆分 python 环境可以解决问题。

我刚刚在 Ubuntu 14.04 上安装了 OpenCV 3.0。 它正在工作。

根据官方教程安装OpenCV。

#!/bin/bashd
#https://help.ubuntu.com/community/OpenCV
version="$(wget -q -O - http://sourceforge.net/projects/opencvlibrary/files/opencv-unix | egrep -m1 -o '\"[0-9](\.[0-9]+)+' | cut -c2-)"
echo "Installing OpenCV" $version
mkdir OpenCV
cd OpenCV
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get -qq remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default checkinstall
echo "Downloading OpenCV" $version
wget -O OpenCV-$version.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/opencv-"$version".zip/download
echo "Installing OpenCV" $version
unzip OpenCV-$version.zip
cd opencv-$version
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j2
sudo checkinstall
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
echo "OpenCV" $version "ready to be used"

在此处输入图片说明 使用以下代码进行测试:

import cv2
img = cv2.imread("/home/xiao/Desktop/test.png")
cv2.imshow("opencv",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

只需更改您的CMakeChahce文件以写入 python 包含文件,并将 lib 目录写入它。 您可以使用find / -name "Python.h"来查找您的 python 目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM