簡體   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