首页 > 其他分享 >opencv编译随笔

opencv编译随笔

时间:2024-12-13 10:09:16浏览次数:4  
标签:OFF 编译 opencv DBUILD build contrib 随笔

编译目标

本文将记录在Linux下编译Opencv及其扩展contrib,并记录在这过程中发生的问题。

环境需求

操作系统: Ubuntu 20.04
CMake: 3.22.1及以上
Make: 4.2.1
gcc/g++: 9.4.0
联网需求: 是

准备

  1. 拉取OpenCV和opencv_contrib代码,得到两个代码文件夹opencv和opencv_contrib
https://github.com/opencv/opencv.git
https://github.com/opencv/opencv_contrib.git

编译

进入opencv中,执行编译命令,编译命令如下:

mkdir build && cd build
cmake \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-DBUILD_EXAMPLES=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_O3=ON \
-DENABLE_CXX11=ON \
-DBUILD_DOCS=OFF \
-DBUILD_TESTS=OFF \
-GUnix \
..

参数解释:
-DOPENCV_EXTRA_MODULES_PATH: 指定扩展contrib文件模块所在路径
-DBUILD_EXAMPLES: 编译官方示例
-DCMAKE_BUILD_TYPE: 编译版本类型
-DUSE_O3: 使用O3优化级别
-DENABLE_CXX11: 使用C++11特性
-DBUILD_DOCS: 构建文档
-DBUILD_TESTS: 构建测试用例
-GUnix: 指定使用Make进行编译,也可以是-GNinja使用Ninja进行编译

完毕之后再执行:

cmake --build .

--build: 指定构建目录

标签:OFF,编译,opencv,DBUILD,build,contrib,随笔
From: https://www.cnblogs.com/chicken-gay/p/18604286

相关文章

  • 学习笔记 | OpenCV的安装及其主要模块
    OpenSourceComputerVisionLibrary|开源的计算机视觉库官网:https://opencv.org/帮助文档:https://docs.opencv.org/4.x/index.htmlOpenCV是一个完整的计算机视觉处理框架。OpenCV的安装#方式一:cmd命令行安装pip3installopencv-python#方式二:从镜像源下载:pip3i......
  • opencv的骨架提取代码实现
    opencv实现图像骨架提取文章目录一.图像骨架提取二.ximgproc.thinning三.使用腐蚀和开运算实现一.图像骨架提取骨架提取,也叫二值图像细化。这种算法能将一个连通区域细化成一个像素的宽度,用于特征提取和目标拓扑表示。二.ximgproc.thinning下载包opencv-con......
  • 12.12随笔
    这里是12.12随笔。题目留档:7-1整型关键字的散列映射分数30作者DS课程组单位浙江大学给定一系列整型关键字和素数p,用除留余数法定义的散列函数H(key)=key%p将关键字映射到长度为p的散列表中。用线性探测法解决冲突。输入格式:输入第一行首先给出两个正整数n(≤1000......
  • rust学习十四、编译和发布单元包Crate
    本文简要介绍如何编译和发布单元包(crate)。很可惜的是,找了一会,没有发现可以发布到除了Crates.io之外的地方。可能是我没有找到,也可能仅仅是因为我本人仅是初学者。希望国内的大学和其它机构能够创建那么一个国内的库,避免哪天封禁后,无处可去。本文对应相关书籍的第十四章节的第......
  • 利用OpenCV和Numpy实现图像校正
    实验原理图像透视变换是一种几何变换,它能够将图像中的点从一个平面映射到另一个平面,通常用于校正图像中的透视失真或者创建特殊的视觉效果。在计算机视觉和图像处理中,透视变换可以通过找到一组对应点(原图中的点和目标图中的点)并计算透视变换矩阵来实现。透视变换的关键步骤:......
  • VS下进行CUDA编译时error MSB3721相关的原因之一
    报错:“1>D:\MicrosoftVisualStudio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA11.6.targets(790,9):errorMSB3721:命令“"C:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.6\bin\nvcc.exe"-gencode=arch=com......
  • 源码编译安装python
    python3configure参数:./configure--prefix=/yourpath/python-3.10.12/\--enable-loadable-sqlite-extensions\--enable-optimizationsmake-j16makeinstallpip3installnotebook使用jupyter需要此参数:--enable-loadable-sqlite-extensions,后续进行make&&ma......
  • 转载:【AI系统】AI 编译器后端优化
    AI编译器分为多层架构,最顶层由各种AI训练框架编写的神经网络模型架构,一般由Python编写,常见的AI训练框架有PyTorch、MindSpore、PaddlePaddle等。在导入AI编译器时需要用对应框架的converter功能转换为AI编译器统一的GraphIR,并在计算图级别由GraphOptimizer进......
  • 转载:【AI系统】AI编译器前瞻
    本文首先会基于TheDeepLearningCompiler:AComprehensiveSurvey中的调研做一个热门AI编译器的横向对比,并简要介绍几个当前常用的AI编译器。随后会分析当前AI编译器面临的诸多挑战,并展望AI编译器的未来。业界主流AI编译器对比在TheDeepLearningCompiler:A......
  • 【java】 随笔 charAt,Random,ArrayList
    1.charAtcharch=str.charAt(i)  根据索引来获取字符串中的字符到ch中2.Random       Random类用来生成随机数字    (1)导包        importjava.util.Random;    (2)创建         Randomr=newRand......