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
相关推荐
小鹏linux5 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆6 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇6 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
江公望7 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦7 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
张小姐的猫8 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
_李小白8 小时前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
YuanDaima20488 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王10 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器
starvapour10 小时前
Ubuntu切换到Fcitx5中文输入法
linux·运维·ubuntu