我有一个Ubuntu 14.04系统,我想在其上安装OpenCV并在Python 2.x中使用它。
我按照此处的说明安装了OpenCV: https://help.ubuntu.com/community/OpenCV
安装似乎运行正常,没有错误,脚本以输出结束
OpenCV 2.4.9 ready to be used
当我尝试运行示例Python脚本时,我得到以下内容:
$ python opencv.py
Traceback (most recent call last):
File "opencv.py", line 1, in <module>
from cv2.cv import *
ImportError: No module named cv2.cv
我怀疑我知道为什么,我只是不知道如何解决它。 OpenCV安装到我运行安装脚本时所在的当前目录,它是我的主文件夹的子目录。
安装后遇到此导入错误的其他人似乎遇到路径问题,并且很幸运将其添加到他们的代码中:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
或用同一目录更新他们的PYTHONPATH。我尝试添加该代码,它没有任何区别。我在“site-packages”目录中看不到任何文件。我应该在该目录中完成安装吗?我想安装说明会拼写出来。我怀疑我的问题与Python没有找到OpenCV安装有关,但我不知道如何继续。
请尽可能简单地帮助我安装OpenCV。
答案 0 :(得分:109)
我认为你没有python-opencv
包。
我有完全相同的问题和
sudo apt-get install python-opencv
为我解决了这个问题。
您可以从以下链接安装opencv https://www.learnopencv.com/install-opencv3-on-ubuntu/ 这个对我有用 。 apt-get install不包含许多opencv包
答案 1 :(得分:30)
我也遇到过这个问题。尝试过不同的事情。但最后
Map<String, Double> doubleMap = new HashMap<>();
MapFromString(doubleMap, "...", Double::valueOf);
Map<String, Integer> integerMap = new HashMap<>();
MapFromString(integerMap, "...", Integer::valueOf);
为我工作。
答案 2 :(得分:16)
如果您想要尽可能简单,请从存储库安装:
sudo apt-get install python-opencv libopencv-dev python-numpy python-dev
答案 3 :(得分:11)
使用pip:
$ pip install SomePackage
[...]
Successfully installed SomePackage
当您使用sys,PYTHONPATH添加PYTHONPATH的路径时,它会在您关闭Python shell时始终重新启动为默认值。检查这个帖子:
首先将openCV添加到您的路径(快速指南):
之后,安装非python包pyopencv取决于:
sudo apt-get build-dep python-opencv
最后,请使用pip:
pip install pyopencv
另外,您可以查看本教程,在ubuntu 14.04 LTS中安装openCV
http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/
答案 4 :(得分:10)
如果您使用的是anaconda,请尝试conda install -c conda-forge opencv
,它可以正常使用!
答案 5 :(得分:7)
找到cv2.so
的位置,例如/usr/local/lib/python2.7/dist-packages
,然后通过执行以下操作将其添加到~/.bashrc
中:
sudo gedit ~/.bashrc
并添加
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages:$PYTHONPATH
在最后一行
然后记得打开另一个终端,这可以工作,我已经解决了我的问题。希望它可以帮到你。
答案 6 :(得分:5)
验证cv2.so是否编译,应该放在: /usr/local/lib/python2.7/site-packages 然后像这样导出那条路径
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
与答案here
相同答案 7 :(得分:4)
我的环境:
由于之前的答案都不适合我,我从http://opencv.org/downloads.html下载了OpenCV 3.0,然后点击了installation manual。我使用了以下cmake
命令:
$ ~/Programs/opencv-3.0.0$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_EXECUTABLE=/usr/bin/python3.5 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages ..
本教程的每一步都很重要。特别是,不要忘记致电sudo make install
。
答案 8 :(得分:3)
我在指南中找到了一个解决方案:
http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/
我从源代码编译和安装。这个过程非常顺利,如果我知道的话,我会从那开始,而不是试图找到一种更简单的安装方式。希望这些信息对某人有帮助。
答案 9 :(得分:3)
创建指向OpenCV的符号链接。例如:
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
ln -s /usr/local/lib/python2.7/dist-packages/cv.py cv.py
答案 10 :(得分:2)
如果您确定安装了cv2,但它没有出现模块错误。有一个解决方案。您的目录中可能有cv2.so
个文件
/usr/local/lib/python2.7/site-packages/cv2.so
将此cv2.so
文件移至
/usr/lib/python2.7/site-packages
将文件复制到site-packages目录
答案 11 :(得分:1)
如果你正在使用pycharm平台,那么进入就很简单了
view =&gt;工具窗口==&gt; python控制台
之后你会在底部看到控制台[1]:
输入此!pip install opencv-python
答案 12 :(得分:1)
尝试使用:
from cv2 import cv
对我有用。
答案 13 :(得分:1)
我在这里尝试了所有其他选项,但是我无法在Ubuntu上使用import cv2
与Anaconda一起工作。这是唯一的帮助:
pip install opencv-python
答案 14 :(得分:0)
对于那些试图使用3.1.0但是在安装python之后说&#34;未找到cv2模块&#34;。
你可能有python而不是python-dev。
sudo apt-get install python-dev
然后重新安装3.1.0并且它将起作用。
答案 15 :(得分:0)
这似乎对我在Max OSX上有用: https://anaconda.org/menpo/opencv3
conda install -c menpo opencv3=3.1.0
我确认您可以使用python2.7和python3
在python中导入cv2
答案 16 :(得分:0)
对我来说,这个问题是因为我没有在LineIterator it = FileUtils.lineIterator(theFile, "UTF-8");
try {
while (it.hasNext()) {
String line = it.nextLine();
// do something with line
}
} finally {
LineIterator.closeQuietly(it);
}
文件夹中对cv2.so文件进行适当的sym链接(你的virualenv的名字可能不是“cv”,你的版本是python可能不是3.5 - 相应调整)。
如果你转到~/.virtualenvs/cv/lib/python3.5/site-packages
文件夹和ls,cv2.so文件应该以淡蓝色(Ubuntu 16.04)显示,表明它已被链接。您可以通过键入以下内容来检查链接位置:readlink cv2.so
如果cv2.so显示为红色(正如我的那样),请输入文件并输入:(对于我安装的python 3.5)
~/.virtualenvs/cv/lib/python3.5/site-packages
OR(如果你有python 3.6)
ln -s /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
如果你在python 2.6或python 2.7中工作,你可以输入:
ln -s /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
如果ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so
位置中不存在cv2.so或cv2.cpython-36m-x86_64-linux-gnu.so文件,请检查它们是否在/usr/local/lib/python***/dist-packages
文件夹中。如果是这样,请相应地调整路径。如果没有,你的opencv安装出了问题。
这个答案受到以下信息的启发:https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/
答案 17 :(得分:0)
它是完整的安装梦night,但我会再给您一个希望,您可以避免从源代码构建opencv:
pip安装opencv-contrib-python
答案 18 :(得分:0)
您可以按照the official OpenCV tutorial进行源构建。关键部分是为PYTHON3_EXECUTABLE
设置PYTHON_LIBRARY
,PYTHON3_PACKAGES_PATH
,PYTHON3_NUMPY_INCLUDE_DIRS
和python3.6
参数。这是所有步骤:
克隆存储库
git clone https://github.com/opencv/opencv.git
创建build
目录
cd ~/opencv
mkdir build
cd build
配置
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local .. \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.6 \
-D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_opencv_python3=ON \
-D HAVE_opencv_python3=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
-D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.6 \
-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages .. \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/home/user/.local/lib/python3.6/site-packages/numpy/core/include/
构建
make -j8
安装库
sudo make install
测试
python3
import cv2
如果未出现错误“ No module named cv2”,则说明安装成功。
注意:如果您不知道numpy
参数到PYTHON3_NUMPY_INCLUDE_DIRS
的路径,可以先执行import numpy
然后执行numpy.__file__
python3 shell。
答案 19 :(得分:0)
尝试使用sudo apt安装python3-opencv
它将安装最新的open cv软件包。
或者您可以尝试重新安装opencv软件包。在安装过程中可能已损坏。
答案 20 :(得分:0)
卸载pandas,然后重新安装:
async