折腾了估计得有1个星期,终于把opencv安装好了。
安装的过程主要是参考了这篇文章:https://github.com/rainyear/lolita/issues/18
但是实际安装过程中,还是出现了错误,主要是编译opencv的时候,我选择了用 make -j4 这个命令来编译,这个命令是允许用4个cpu做并行编译处理,但实际上由于我的Ubuntu只有一个cpu,因此执行该命令时报错如下:
/usr/bin/ld:/usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S against`av_destruct_packet' can not be used when making a shared object; recompilewith -fPIC
/usr/local/lib/libavcodec.a: error addingsymbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: ***[lib/libopencv_videoio.so.3.0.0] Error 1
make[1]: ***[modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
make[1]: *** Waiting for unfinishedjobs....
LinkingCXX shared library ../../lib/libopencv_photo.so
后来我把这个命令改成 mae -j1 ,不做并行编译,后来就成功了。
下面附上我的编译命令,可以直接封装成 ".sh" 脚本文件 在Ubuntu直接一键安装
#!/bin/bash sudo apt-get update sudo apt-get install python3-setuptools python3-dev -y sudo easy_install3 pip pip3 install numpy sudo apt-get install build-essential -y sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y cd ~ wget https://github.com/Itseez/opencv/archive/3.0.0.zip #注意这里不是 cd 3.0.0 , 而是 cd opencv-3.0.0 unzip 3.0.0.zip && cd opencv-3.0.0 mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ PYTHON3_EXECUTABLE=/usr/bin/python3 \ PYTHON_INCLUDE_DIR=/usr/include/python3.4 \ PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so \ PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include .. # make -j [N] :表示在那个一时间内进行编译的任务数 ,如果-j 后面不跟任何数字,则不限制处理器并行编译的任务数,现在发现直接用make -j4 安装会失败 #所以还是用 make -j1 成功了 make -j1 sudo make install
执行如下命令,测试opencv是否安装成功
python3
然后进入到python3的shell交互环境后,输入如下命令
import cv2
如果没有报错,那应该是安装成功了
下面附上查询opencv版本号的命令
pkg-config --modversion opencv