顺带一提,opencv4编译darknet需要更改image.h头文件
prepare:
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
sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y
<!--more-->
sudo apt-get install libxvidcore-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt remove --purge ffmpeg -y
sudo apt install nasm -y
sudo apt install yasm -y
sudo apt install build-essential -y
sudo apt install --fix-broken
x264
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-shared --enable-static
sudo make
sudo make install
openh264
git clone https://github.com/cisco/openh264.git
cd openh264
sudo make
sudo make install
x265
git clone https://github.com/videolan/x265.git
cd x265/build/linux
./make-Makefiles.bash
#若报错,将make-Makefiles.bash中的ccmake改为cmake
sudo make
sudo make install
ffmpeg
sudo apt install libgmp-dev libfaac-dev libmp3lame-dev -y
sudo apt install librtmp-dev -y
sudo apt install libshine-dev libopenjp2-* -y
sudo apt install libv4l2rds0 libwavpack-dev libwebp-dev lv2-dev -y
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
./configure \
--enable-shared \
--enable-libopenh264 \
--enable-libx264 \
--enable-libx265 \
--enable-gpl \
--enable-pic \ #support pic sws
--enable-gmp \ #support rtmp
--enable-libmp3lame \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libshine \
--enable-libv4l2 \
--enable-libwavpack \
--enable-libwepb \
--enable-version3 \
make
sudo make install
gstreamer1.0
sudo apt-get install libgstreamer1.0-dev gstreamer1.0-tools gstreamer1.0-tools gstreamer1.0-doc
sudo apt-get install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad
sudo apt update
sudo apt-get upgrade
sudo apt install --fix-missing
sudo apt install --fix-broken
sudo apt-get install gstreamer1.0-ffmpeg
Opencv
官网下载opencv-4.1.0以及opencv-4.1.0-contrib
- 不使用CUDA及contrib包编译
unzip opencv-4.1.0.zip
unzip opencv_contrib-4.1.0.zip
cd opencv-4.1.0
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_FFMPEG=ON \
-D WITH_GTK=ON \
-D OPENCV_GENERATE_PKGCONFIG=YES \
-D PYTHON_EXCUTABLE=/usr/bin/python3 ..
- 使用cuda及contrib
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON_EXCUTABLE=/usr/bin/python3 \
-D BUILD_IPP_IW=ON \
-D BUILD_ITT=ON \
-D BUILD_PROTOBUF=ON \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_TBB=ON \
-D BUILD_TESTS=OFF \
-D CUDA_ARCH_BIN="3.0,3.5,3.7,5.0,5.2,6.0,6.1" \
-D CUDA_FAST_MATH=ON \
-D ENABLE_FAST_MATH=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/deepblue/Software/opencv4/opencv_contrib-4.1.0/modules \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_GENERATE_SETUPVARS=ON \
-D OPENCV_PYTHON3_VERSION=ON \
#-D WITH_CUBLAS=ON \ #only for Turing arch
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D WITH_CUFFT=ON \
-D WITH_EIGEN=ON \
-D WITH_FFMPEG=ON \
-D WITH_GTK=ON \
-D WITH_GTK_2_X=ON \
-D WITH_OPENCL=ON \
-D BUILD_opencv_python3=ON \
-D BUILD_opencv_python2=OFF \
-D WITH_GSTREAMER=ON ..
之后
sudo make -j${nproc}
sudo make install
如果出错,可以使用`make -j4 --VERBOSR==1`查看详细信息.