OPENCV安装
- 参考链接
- 安装依赖库以及CMAKE命令
- 如果出现缺库情况,可安装对应库
参考链接
如果本博客找不到对应问题,可参考以下博客
参考一
参考二
参考三
opencv
https://github.com/opencv/opencv
contrib
https://github.com/opencv/opencv_contrib
安装依赖库以及CMAKE命令
sudo apt-get install \
libglew-dev \
libtiff5-dev \
zlib1g-dev \
libjpeg-dev \
libpng12-dev \
libjasper-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libpostproc-dev \
libswscale-dev \
libeigen3-dev \
libtbb-dev \
libgtk2.0-dev \
pkg-config
a. mkdir build
b. cd build
CUDA版本:
c. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX={....}/opencv/opencv-3.4.3-install -DBUILD_PNG=OFF -DBUILD_TIFF=OFF -DBUILD_TBB=OFF -DBUILD_JPEG=OFF -DBUILD_JASPER=OFF -DBUILD_ZLIB=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DWITH_V4L=ON -DWITH_QT=ON -DWITH_OPENGL=ON -DBUILD_opencv_java=OFF -DBUILD_opencv_python2=ON -DBUILD_opencv_python3=ON -DENABLE_PRECOMPILED_HEADERS=OFF -DWITH_OPENCL=OFF -DWITH_OPENMP=OFF -DWITH_FFMPEG=ON -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF -DWITH_CUDA=ON -DWITH_GTK=ON -DWITH_VTK=OFF -DWITH_TBB=ON -DWITH_1394=OFF -DWITH_OPENEXR=OFF -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCUDA_ARCH_PTX="" -DINSTALL_C_EXAMPLES=OFF -DINSTALL_TESTS=OFF -DWITH_CUBLAS=1 -DCUDA_FAST_MATH=1 -DOPENCV_ENABLE_NONFREE=ON -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.3/modules/ ..
非CUDA版本:
c. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/keo/nnd_storage/opencv/opencv-3.4.3-install -DBUILD_PNG=OFF -DBUILD_TIFF=OFF -DBUILD_TBB=OFF -DBUILD_JPEG=OFF -DBUILD_JASPER=OFF -DBUILD_ZLIB=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DWITH_V4L=ON -DWITH_QT=ON -DWITH_OPENGL=ON -DBUILD_opencv_java=OFF -DBUILD_opencv_python2=ON -DBUILD_opencv_python3=ON -DENABLE_PRECOMPILED_HEADERS=OFF -DWITH_OPENCL=OFF -DWITH_OPENMP=OFF -DWITH_FFMPEG=ON -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF -DWITH_GTK=ON -DWITH_VTK=OFF -DWITH_TBB=ON -DWITH_1394=OFF -DWITH_OPENEXR=OFF -DINSTALL_C_EXAMPLES=OFF -DINSTALL_TESTS=OFF -DOPENCV_ENABLE_NONFREE=ON -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.3/modules/ ..
d. make -j4
e. sudo make install
如果出现缺库情况,可安装对应库
apt-get install zlib1g-dev
apt-get install libjpeg8-dev
apt-get install libpng12-dev
apt-get install libx264-dev
apt-get install libxvidcore-dev
apt-get install libtiff-dev
apt-get install ffmpeg
apt-get install libv4l-dev
apt-get install libgtk2.0-dev
apt-get install build-essential libavcodec-dev libavformat-dev libswscale-dev libjasper-dev cmake cmake-curses-gui cmake-qt-gui
错误汇总
.i文件错误
链接: https://pan.baidu.com/s/1KWDhYDqNOIdS11NPOlHO1A 密码: fbo1
ippicv_linux_20151201.tgz
链接: https://pan.baidu.com/s/12ZS0jEaLO5XMRGkBuFsfaQ 密码: p4iq
Looking for ffmpeg/avformat.h - not found
我将以OpenCV2.4.13为例,在文件opencv2.4.13/cmake/OpenCVDetectCXXCompiler.cmake中,
您必须将“ dumpversion”更改为“ dumpfullversion”
解释是在具有更高版本的gcc中,dumpversion函数无法获得编译器的真实完整版本号,
因此cmake进度将失败。
缺少xxx.h文件
例1:缺少videodev.h————linux/videodev.h not found
例2:缺少videoio.h————sys/videoio.h not found
https://blog.csdn.net/xbs150/article/details/77840786#71-%E7%BC%BA%E5%B0%91xxxh%E6%96%87%E4%BB%B6
ffmpeg_codecs.hpp:104:7: error: ‘CODEC_ID_H264’ was not declared in this scop
这其实由上述第一个错误导致,CMAKE直接关闭ffmpeg,也可以解决错误
Looking for ffmpeg/avformat.h - not found
cmake添加下面命令可以解决
-DWITH_FFMPEG=OFF
error: the compiler can assume that the address of ‘annotate_img’ will never be NULL [-Werror=address]
找到
opencv-2.4.9/build/modules/contrib/CMakeFiles/opencv_contrib.dir/flags.make文件,
删掉
-Werror=address
然后重新make
fatal error: opencv2\highgui\highgui.hpp: 没有那个文件或目录
一般我们从网上copy过来的opencv例程,会出现头文件找不到,但是前提是你的库已经安装好,并且Cmake找到正确的位值。
这里假设上面条件已经完成,注意上面错误的斜杠是向右下的,这是windows的系统中的操作,在linux中要有右上斜杠’/ ’
opencv2/highgui/highgui.hpp