下载并编译OpenCV脚本记录(支持图片和视频处理)

Ubuntu环境,源码编译OpenCV

基础环境包含c++编译和调试工具

sudo apt update
sudo apt install -y build-essential cmake gdb

如果要支持opencv图片和视频处理至少还需要ffmpeg编解码相关的库(GStreamer库也可以)

sudo apt install -y libavcodec-dev libavformat-dev libavutil-dev libswscale-dev

脚本内容

#!/bin/bash

RED='\033[0;31m'
YELLOW='\033[0;33m'
RES='\033[0m'

CURRENT_DIR=$(pwd)
CURRENT_TIME=$(date +%Y%m%d%H%M%S)

POSTFIX="scripts"
LEN_POSTFIX=${#POSTFIX}
DIR_POSTFIX=${CURRENT_DIR:0-7:${LEN_POSTFIX}}
if [ "x${DIR_POSTFIX}" == "x${POSTFIX}" ]; then
    WORKSPACE=${CURRENT_DIR}/..
else
    WORKSPACE=${CURRENT_DIR}
fi 

OPENCV_DIR=${WORKSPACE}/opencv

if [ ! -d ${OPENCV_DIR} ]; then
    echo "Downloading opencv from GitHub"
    git clone https://github.com/opencv/opencv.git
fi

cd ${OPENCV_DIR}
if [ "x$2" == "x" ]; then
    git checkout 4.3.0 && git checkout -b v4.3.0
fi

BUILD_DIR=${OPENCV_DIR}/build
INSTALL_DIR=${OPENCV_DIR}/install

if [ x"$1" == x"rebuild" ]; then
    if [ -d ${BUILD_DIR} ]; then
        rm -rf ${BUILD_DIR} 
    fi
    if [ -d ${INSTALL_DIR} ]; then
        rm -rf ${INSTALL_DIR}
    fi
fi

if [ ! -d ${BUILD_DIR} ]; then
    echo -e "${BUILD_DIR} creating now..."
    mkdir -p ${BUILD_DIR}
else
    echo -e "${YELLOW}${BUILD_DIR} already exist${RES}"
fi

cd ${BUILD_DIR}
cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
      -DBUILD_SHARED_LIBS=ON \
      -DWITH_FFMPEG=ON \
      -DWITH_TBB=OFF \
      -DBUILD_TESTS=OFF \
      -DINSTALL_TESTS=OFF \
      ..
if [ $? != "0" ]; then
    echo -e "${RED}[ERR]Failed to build the project${RES}"
    exit 1
fi

make -j4
if [ $? != "0" ]; then
    echo -e "${RED}[ERR]Failed to compile the project${RES}"
    exit 1
fi

make install -j4
if [ $? != "0" ]; then
    echo -e "${RED}[ERR]Failed to install the executables${RES}"
    exit 1
fi
posted @ 2024-12-03 20:18  coffee_tea_or_me  阅读(42)  评论(0)    收藏  举报