LINUX/CMAKE编译opencv_contrib

实际上编译OpenCV时,连带编译opencv_contrib。

  • 编译脚本

    OPENCV_VERSION=4.10.0
    OPENCV_DIR=opencv-{OPENCV_VERSION} OPENCV_CONTRIB_DIR=opencv_contrib-{OPENCV_VERSION}

    BUILD_DIR=pwd
    cd {BUILD_DIR}/{OPENCV_DIR}

    mkdir build

    cd build/

    cmake
    -D CMAKE_BUILD_TYPE=RELEASE
    -D CMAKE_INSTALL_PREFIX=/usr/local
    -DENABLE_PRECOMPILED_HEADERS=OFF
    -D OPENCV_EXTRA_MODULES_PATH={BUILD_DIR}/{OPENCV_CONTRIB_DIR}/modules
    ..

    sudo make -j16

    sudo make install

  • 去掉不想编译的模块

如果不想编译modules下某个模块,可以关掉。以下是关掉所有模块:

复制代码
OPENCV_VERSION=4.10.0
OPENCV_DIR=opencv-${OPENCV_VERSION}
OPENCV_CONTRIB_DIR=opencv_contrib-${OPENCV_VERSION}

BUILD_DIR=`pwd`
cd ${BUILD_DIR}/${OPENCV_DIR}

mkdir build

cd build/

cmake \
    -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -DENABLE_PRECOMPILED_HEADERS=OFF \
    -D OPENCV_EXTRA_MODULES_PATH=${BUILD_DIR}/${OPENCV_CONTRIB_DIR}/modules \
    -D BUILD_opencv_alphamat=OFF \
    -D BUILD_opencv_aruco=OFF \
    -D BUILD_opencv_bgsegm=OFF \
    -D BUILD_opencv_bioinspired=OFF \
    -D BUILD_opencv_ccalib=OFF \
    -D BUILD_opencv_cnn_3dobj=OFF \
    -D BUILD_opencv_cvv=OFF \
    -D BUILD_opencv_datasets=OFF \
    -D BUILD_opencv_dnn_objdetect=OFF \
    -D BUILD_opencv_dnn_superres=OFF \
    -D BUILD_opencv_dnns_easily_fooled=OFF \
    -D BUILD_opencv_dpm=OFF \
    -D BUILD_opencv_face=OFF \
    -D BUILD_opencv_freetype=OFF \
    -D BUILD_opencv_fuzzy=OFF \
    -D BUILD_opencv_hdf=OFF \
    -D BUILD_opencv_hfs=OFF \
    -D BUILD_opencv_img_hash=OFF \
    -D BUILD_opencv_intensity_transform=OFF \
    -D BUILD_opencv_julia=OFF \
    -D BUILD_opencv_line_descriptor=OFF \
    -D BUILD_opencv_matlab=OFF \
    -D BUILD_opencv_mcc=OFF \
    -D BUILD_opencv_optflow=OFF \
    -D BUILD_opencv_ovis=OFF \
    -D BUILD_opencv_phase_unwrapping=OFF \
    -D BUILD_opencv_plot=OFF \
    -D BUILD_opencv_quality=OFF \
    -D BUILD_opencv_rapid=OFF \
    -D BUILD_opencv_reg=OFF \
    -D BUILD_opencv_rgbd=OFF \
    -D BUILD_opencv_saliency=OFF \
    -D BUILD_opencv_signal=OFF \
    -D BUILD_opencv_sfm=OFF \
    -D BUILD_opencv_shape=OFF \
    -D BUILD_opencv_stereo=OFF \
    -D BUILD_opencv_structured_light=OFF \
    -D BUILD_opencv_superres=OFF \
    -D BUILD_opencv_surface_matching=OFF \
    -D BUILD_opencv_text=OFF \
    -D BUILD_opencv_tracking=OFF \
    -D BUILD_opencv_videostab=OFF \
    -D BUILD_opencv_viz=OFF \
    -D BUILD_opencv_wechat_qrcode=OFF \
    -D BUILD_opencv_xfeatures2d=OFF \
    -D BUILD_opencv_ximgproc=OFF \
    -D BUILD_opencv_xobjdetect=OFF \
    -D BUILD_opencv_xphoto=OFF \
    -D INSTALL_C_EXAMPLES=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D OPENCV_GENERATE_PKGCONFIG=OFF \
    -D BUILD_EXAMPLES=OFF \
    ..

sudo make -j16

sudo make install
相关推荐
老当益壮梁奶奶20 分钟前
Linux软件编程学习笔记(十一):深入浅出 TCP 协议与 Socket 编程实践
linux·c语言·笔记·学习·tcp/ip
speop31 分钟前
hell-gpu| TASK01-2
linux·运维·算法
byte轻骑兵44 分钟前
【BlueZ 】用户态入口:main.c 核心函数与程序启动流程
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
别动我齐刘海1 小时前
从0到1独立搭建机器人软件系统
c++·人工智能·神经网络·opencv·目标检测·机器学习·机器人
Tisfy1 小时前
LeetCode 2058.找出临界点之间的最小和最大距离:遍历+遇到极值则更新(这种题谁空间复杂度不是O(1)啊)
linux·数据库·leetcode·链表·题解·模拟·遍历
liulilittle1 小时前
REALITY 代理隧道的有效检测方法: 被动、主动与确定性三层实证研究
linux·服务器·网络·网络协议·安全·网络安全·通信
邪修king2 小时前
Re:Linux 系统篇(十五):进程篇(四):进程切换深度解析 —— CPU 寄存器、进程上下文与切换全流程万字详解
linux·运维·服务器
AI的探索之旅2 小时前
97 个 OpenCV 实例(十五):几何校正,透视变换 + ECC 对齐
人工智能·opencv·计算机视觉
高亦真2 小时前
今天是学习嵌入式的第33天
linux·学习·算法
cuijiecheng20182 小时前
Rocky Linux 安装 libltc、ltc-tools 和 ltcdump
linux