这里写自定义目录标题
- 安装GCC,G++,注意,编译opencv的gcc版本要尽量后编译项目的gcc版本保持一致。(比如GCC版本不同对接口参数string类型会有不同的解释,从而会报 函数未定义等错)
https://blog.csdn.net/qq_45569859/article/details/100168414 - 安装显卡驱动和cuda10.0 和cudnn7.6.5,https://blog.csdn.net/famirtse/article/details/82875590
- 安装 ffmpeg,https://blog.csdn.net/gdin/article/details/82697522; https://www.cnblogs.com/candycaicai/p/4689459.html; http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
- 编译脚本:
mkdir build
cd build
./../configure \
--enable-shared \
--extra-cflags=-fPIC \
--prefix=/usr/local \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree \
--extra-libs=-ldl
#prefix 是安装目录,
# enable-shared, extra-cflags=-fPIC,enable-nonfree,extra-libs=-ldl都不能少
- 安装 opencv ,https://blog.csdn.net/qq_22558867/article/details/103593239
注意在安装了CUDA的情况下,编译opencv 默认是打开了WITH_CUDA 的。
官方教程:https://docs.opencv.org/3.3.0/d7/d9f/tutorial_linux_install.html
编译脚本:
mkdir build-cuda
cd build-cuda
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D CUDA_GENERATION=Pascal \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D WITH_CUDNN=ON \
-D WITH_OPENCL=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF ..
- 报错 error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope的解决办法https://blog.csdn.net/guo_lei_lamant/article/details/81568346
在 /opt/opencv/opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp 里最顶端添加了:
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
- 报错CUDA_nppi_LIBRARY (ADVANCED),因为cuda10 跟cuda9一样不太支持opencv3.3.0了,所以要修改一些东西,参考链接https://blog.csdn.net/u014613745/article/details/78310916#commentBox
- 另外的坑,…
linux 正确安装opencv解决无法读取视频的问题: references