# OpenCV33
官网安装教程: https://docs.opencv.org/3.3.0/d7/d9f/tutorial_linux_install.html
查看适合自己的安装的版本:pkg-config --modversion opencv
下载文件: https://opencv.org/opencv-3-3.html
解压: tar -xvf opencv-3.3.0.tar.gz
下载opencv_contrib-3.3.0 :https://github.com/opencv/opencv_contrib
解压:~/opencv_contrib-3.3.0
cd opencv-3.3.0
mkdir build
cd build
新建/usr/local/opencv3 用来安装opencv3
安装依赖库:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3.5-dev
# cmake
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D ENABLE_CXX11=ON -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules -D BUILD_SHARED_LIBS=ON -D WITH_GTK=ON -D BUILD_EXAMPLES=ON -D PYTHON_EXECUTABLE=/usr/bin/python3.5 -D BUILD_WITH_DEBUG_INFO=OFF -D CMAKE_C_COMPILER=/usr/bin/gcc-5 -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_FFMPEG=OFF ..
cmake注意事项:
最后空格两个点
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 # 安装目录
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules # opencv_contrib文件目录
cmake可能出错,查看/build/CMakeFiles/CMakeError.log文件里error的地方是not support c++11问题,解决方法在cmake加入几句(上面已经加了):
-D CMAKE_C_COMPILER=/usr/bin/gcc-5
-D ENABLE_CXX11=ON
-D ENABLE_PRECOMPILED_HEADERS=OFF
如果有错误:/home/dyz/opencv-3.3.0/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:28: fatal error: linux/videodev.h: 没有那个文件或目录
这里是用cuda编译的问题 把上面cmake -D WITH_CUDA=ON 改为-D WITH_CUDA=OFF再次编译就可以了
# make
make -j4
sudo make install
‘’‘
make时出错error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
这是ffmpeg问题 我们先关了不用 -D WITH_FFMPEG=OFF
ffmpeg的依赖感觉总是有问题 可以自己下载安装包编译 并指定安装路径 防止和其他包冲突
’‘’
Done
安装完pkg-config --modversion opencv 查看版本信息
'''
# 安装opencv2.4
wget https://github.com/opencv/opencv/archive/2.4.13.5.zip -O opencv-2.4.13.5.zip # 版本最好是官方一点的地方下载的
unzip opencv-2.4.13.5.zip
cd opencv-2.4.13.5
mkdir release
cd release
mkdir /usr/local/opencv2
cmake -D CMAKE_CXX_COMPILER=/usr/bin/g++ -D CMAKE_C_COMPILER=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2 -D WITH_FFMPEG=OFF -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 -DWITH_OPENGL=ON -D BUILD_FAT_JAVA_LIB=ON -D INSTALL_TO_MANGLED_PATHS=ON -D INSTALL_CREATE_DISTRIB=ON -D INSTALL_TESTS=ON -D ENABLE_FAST_MATH=ON -D WITH_IMAGEIO=ON -D BUILD_SHARED_LIBS=OFF -D WITH_GSTREAMER=ON -D WITH_CUDA=OFF -D WITH_OPENCL=OFF -D WITH_OPENCL_SVM=OFF -D WITH_OPENCLAMDFFT=OFF -D WITH_OPENCLAMDBLAS=OFF ..
# 这里CMAKE_INSTALL_PREFIX=/usr/local/opencv2是为了不和opencv3安装的冲突 WITH_FFMPEG=OFF 没用ffmpeg
make -j4
make install
# 到这是安装成功 但是使用的话还是要改bashrc文件
# 使用opencv2
sudo gedit ~/.bashrc
在文件末尾加上
export PKG_CONFIG_PATH=/usr/local/opencv2/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv2/lib
保存,source ~/.bashrc
sudo ldconfig 生效
输入查看安装情况:
pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs opencv
查看opencv版本已经是2.4.13了
# 在自己程序里使用opencv2.4.13
# 在要使用opencv的项目的CMakeLists.txt里面添加一行
# 在project(...)之前添加:
set(OpenCV_DIR "/usr/local/opencv2/share/OpenCV")
OK ...
切换回opencv3.3 把上面改成(不知道有没有简单的方法 不用每次设置的?)
export PKG_CONFIG_PATH=/usr/local/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv3/lib
# No module named cv2
sudo apt-get install python-opencv