opencv 模块裁剪 按需安装指定模块

!!!!!!建议都看完再操作

1、实现方式

BUILD_LIST(https://github.com/opencv/opencv/blob/4.x/CMakeLists.txt#L195) + 当前版本模块列表(OpenCV: OpenCV modules

不知道需要安装哪些模块?

  1. 可以访问 OpenCV: OpenCV modules 然后在搜索框中输入自己需要的函数名,如下图
  2. 点击对应函数名,在跳转后的页面搜include,这样就可以根据对应头文件确定模块名
  3. OpenCV: OpenCV modules

2、编译官方安装文档

  1. OpenCV: Installation in Linux
  2. 编译宏参数参考,可以按需选择module OpenCV: OpenCV configuration options reference

3、示例------仅编译安装core module

bash 复制代码
cd opencv-4.x统计目录
mkdir build && cd build
# 配置指令执行后会输出安装路径,搜索"Install to:"可以看到,默认是/usr/local;
# 可以通过修改opencv-4.x/CMakeList.txt内容,修改安装路径,关键字CMAKE_INSTALL_PREFIX
# 默认编译的是动态库;编译输出静态库宏参数:-DBUILD_SHARED_LIBS=OFF
cmake ../opencv-4.x -DBUILD_LIST=core
# 执行编译
cmake --build .

# 编译后验证
ls bin
ls lib

ls OpenCVConfig*.cmake
ls OpenCVModules.cmake

# 执行安装|安装过程会输出头文件及库文件的输出路径
make install

# 安装后验证
可以去指定的安装路径下查看对应头文件及库文件
核心路径:bin  include  lib64  share

4、core module 静态库验证

cpp 复制代码
#include <iostream>
#include "include/opencv4/opencv2/core/cvdef.h"
#include "include/opencv4/opencv2/core/cvstd.hpp"

// 指定路径安装,在对应安装路径下执行如下编译命令
// 编译命令:g++ core_t.cc -std=c++17 -I./ -L./lib64
int main(int args, char* argv[]) {
    std::cout << cv::toLowerCase("ABcdEfg") << "\n";
    return 0;
}

自测opencv 编译报错 一堆undefine reference,可以试试如下编译命令 xxxx换成自己的文件名

g++ `pkg-config --cflags opencv` xxxx.cc `pkg-config --libs opencv` -std=c++14

相关推荐
兵慌码乱3 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
梦想三三7 天前
OpenCV银行卡数字识别项目(图像预处理与字符分割)
人工智能·opencv·计算机视觉
武子康7 天前
调查研究-180 roboflow/supervision:计算机视觉工程里的“胶水层“,为什么值得关注?
人工智能·opencv·计算机视觉·chatgpt·llm·向量化
m沐沐7 天前
【计算机视觉】OpenCV 模板匹配银行卡数字识别---下
人工智能·python·opencv·计算机视觉·pycharm·numpy
fie88897 天前
SSR / MSR 图像增强
人工智能·opencv·计算机视觉
sali-tec7 天前
C# 基于OpenCv的视觉工作流-章85-包胶不良检测
图像处理·人工智能·opencv·算法·计算机视觉
FL16238631298 天前
[cmake]基于C++使用纯opencv部署ppocrv5v6的onnx模型
开发语言·c++·opencv
2401_885665198 天前
基于OpenCV的模板匹配OCR实战:银行卡与身份证数字识别完整教程
人工智能·python·opencv·计算机视觉·ocr
winfredzhang8 天前
用 MediaPipe 手势数字识别一键打开下载夹里的图片(Python + OpenCV 实战)
人工智能·python·opencv·google·mediapipe
sali-tec9 天前
C# 基于OpenCv的视觉工作流-章84-包胶有无检测
图像处理·人工智能·opencv·算法·计算机视觉