OpenCV中world模块介绍

这篇具有很好参考价值的文章主要介绍了OpenCV中world模块介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

      OpenCV中有很多模块,模块间保持最小的依赖关系,用户可以根据自己的实际需要链接相关的库,而不需链接所有的库,这样在最终交付应用程序时可以减少总库的大小。但如果需要依赖OpenCV的库太多,有时会带来不方便,此时可以使用OpenCV的world模块。

      OpenCV中的world模块,也称为超级模块(super-module),它结合了用户选择的所有其它模块。它是一个一体化(all-in-one)模块,具有所有库的功能。使用world模块可能会使应用程序的编译时间略有增加。

opencv_world,OpenCV,opencv

      目前OpenCV最新发布版本为4.8.1,编译不带world模块的动态库,在windows下会有58个动态库。在windows上使用vs2022及在linux上使用g++ 9的脚本build.sh如下所示:

#! /bin/bash

if [ $# != 2 ]; then
    echo "Error: requires two parameters: 1: windows or linux; 2: relese or debug"
    echo "For example: $0 windows debug"
    exit -1
fi

if [ $1 != "windows" ] && [ $1 != "linux" ]; then
    echo "Error: the first parameter can only be windows or linux"
    exit -1
fi

if [ $2 != "release"  ] && [ $2 != "debug" ]; then
    echo "Error: the second parameter can only be release or debug"
    exit -1
fi

if [[ ! -d "build" ]]; then
    mkdir build
    cd build
else
    cd build
fi

if [ $1 == "windows" ] && [ $2 == "release" ]; then
    cmake \
        -G"Visual Studio 17 2022" -A x64 \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_CONFIGURATION_TYPES=Release \
        -DBUILD_SHARED_LIBS=ON \
        -DBUILD_opencv_world=ON \
        -DBUILD_PERF_TESTS=OFF \
        -DBUILD_TESTS=OFF \
        -DCMAKE_INSTALL_PREFIX=../install_4.8.1/ \
        -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
        ..
    cmake --build . --target install --config release
fi

if [ $1 == "windows" ] && [ $2 == "debug" ]; then
    cmake \
        -G"Visual Studio 17 2022" -A x64 \
        -DCMAKE_BUILD_TYPE=Debug \
        -DCMAKE_CONFIGURATION_TYPES=Debug \
        -DBUILD_SHARED_LIBS=ON \
        -DBUILD_opencv_world=ON \
        -DBUILD_PERF_TESTS=OFF \
        -DBUILD_TESTS=OFF \
        -DCMAKE_INSTALL_PREFIX=../install_4.8.1/ \
        -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
        ..
    cmake --build . --target install --config debug
fi

if [ $1 == "linux" ] && [ $2 == "release" ]; then
    cmake \
        -DCMAKE_C_COMPILER=/usr/bin/gcc-9 \
        -DCMAKE_CXX_COMPILER=/usr/bin/g++-9 \
        -DCMAKE_BUILD_TYPE=Release \
        -DBUILD_SHARED_LIBS=ON \
        -DBUILD_opencv_world=ON \
        -DBUILD_PERF_TESTS=OFF \
        -DBUILD_TESTS=OFF \
        -DCMAKE_INSTALL_PREFIX=../install_4.8.1/release/ \
        -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
        ..
    make -j4
    make install
fi

if [ $1 == "linux" ] && [ $2 == "debug" ]; then
    cmake \
        -DCMAKE_C_COMPILER=/usr/bin/gcc-9 \
        -DCMAKE_CXX_COMPILER=/usr/bin/g++-9 \
        -DCMAKE_BUILD_TYPE=Debug \
        -DCMAKE_CONFIGURATION_TYPES=Debug \
        -DBUILD_SHARED_LIBS=ON \
        -DBUILD_opencv_world=ON \
        -DBUILD_PERF_TESTS=OFF \
        -DBUILD_TESTS=OFF \
        -DCMAKE_INSTALL_PREFIX=../install_4.8.1/debug/ \
        -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
        ..
    make -j4
    make install
fi

rc=$?
if [[ ${rc} != 0 ]]; then
    echo "Error: please check: ${rc}"
	exit ${rc}
fi

      在windows上编译结果如下所示:

opencv_world,OpenCV,opencv

      在Linux上编译结果如下所示:

opencv_world,OpenCV,opencv

      GitHub:https://github.com/fengbingchun/OpenCV_Test文章来源地址https://www.toymoban.com/news/detail-760839.html

到了这里,关于OpenCV中world模块介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • opencv各个模块介绍(1)

    目录 Core 模块:核心模块,提供了基本的数据结构和功能。 Imgproc 模块:图像处理模块,包括图像过滤、几何变换等功能。 Video 模块:视频处理模块,提供了视频捕获、光流估计等功能。 HighGUI 模块:图形用户界面模块,用于创建简单的GUI应用程序。 Objdetect 模块:对象检测

    2024年04月10日
    浏览(28)
  • 色彩校正及OpenCV mcc模块介绍

    一、术语       1. 光 :是电磁波,可见光是可被人眼感知的电磁波。可见光大约在400-700nm波段。光子携带的能量与波长成反比,400nm--700nm之间的单色光的颜色从紫色渐变成红色。       2. 光谱 :除了太阳光源外,LED灯、白炽灯等各种照明设备也是摄影的主要光源。除此之外

    2024年02月08日
    浏览(38)
  • OpenCV学习——ArUco模块

            ArUco模块是OpenCV的contrib拓展库中一个模块,需要安装OpenCV的 contrib拓展库 才能正常使用。         ArUco 标记是由 宽黑色边框 和 确定其标识符(id)的内部二进制矩阵 组成的正方形标记,如图1所示。通俗地说,ArUco标记其实就是一种编码,就和我们日常生活中

    2024年02月17日
    浏览(45)
  • OpenCV中DNN模块

             OpenCV自3.3版本开始,加入了对深度学习网络的支持,即DNN模块,它支持主流的深度学习框架生成与到处模型的加载。         OpenCV中的深度学习模块(DNN)只提供了推理功能,不涉及模型的训练,支持多种深度学习框架,比如TensorFlow,Caffe,Torch和Darknet。 轻量

    2024年02月15日
    浏览(41)
  • 使用 Opencv Gpu 模块

    paddle mediapipe等第三方 均实现了图像数据 cpu到GPU等加速设备的 上传及下载推理等操作 要使用 OpenCV 的 GPU 模块,首先你需要安装带有 GPU 支持的 OpenCV 版本。然后,你需要确保你的计算机有一个 NVIDIA GPU,并且已经安装了 NVIDIA 的驱动程序和 CUDA 工具包。 在你的代码中,你需要

    2024年02月13日
    浏览(24)
  • OpenCV视频读写(videoio模块)

    TODO:videoio的工作原理,注册表,优先级 Video4Linux的 WITH_V4L (Linux;默认值: ON ) 使用 Video4Linux API 从相机捕获图像。必须安装 Linux 内核头文件。 FFmpeg的 WITH_FFMPEG (默认值: ON ) 与 FFmpeg 库集成,用于解码和编码视频文件和网络流。该库可以读取和写入许多流行的视频格式。它

    2024年04月23日
    浏览(34)
  • OpenCV从入门到精通(一) ——OpenCV简介、模块、常用函数、图像视频读取显示保存

    说明:关于OpenCV的教程和书籍已经很多了,所以,我不想重复别人已经做过的事情。如何系统全面的掌握OpenCV?我想这是每个学习OpenCV的人都想要做到的事情。说到底,OpenCV只是一个数字图像处理函数库,要全面掌握OpenCV的使用,只需要明白有哪些函数,每个函数怎么使用。

    2024年02月07日
    浏览(56)
  • OpenCV图像处理——DNN模块

    图像处理总目录←点击这里 随着计算机视觉的流行,opencv 也专门开发了 dnn 模块来实现 深度神经网络相关 的功能; opencv 无法训练模型,但它支持载入其他深度学习框架训练好的模型,并使用该模型进行预测 inference; opencv 在载入模型时会使用 dnn 模块对模型进行重写,使得

    2024年02月12日
    浏览(42)
  • python 安装、配置、使用 xlrd模块、numpy模块、matplotlib、opencv模块

    目录  一、xlrd模块 (一)安装xlrd模块 (二) pycharm 配置xlrd (三) 读取xls格式 (四)xlrd读取时间日期时,会是float类型,需要转换。 二、numpy模块  (一)numpy模块安装---使用清华大学镜像进行安装即可 (二)pycharm配置时,numpy安装失败,且代码中出现 No module named \\\'numpy\\\' (1)

    2024年02月09日
    浏览(45)
  • OpenCV实战——OpenCV.js介绍

    本节介绍如何使用 JavaScript 通过 OpenCV 开发计算机视觉算法。在 OpenCV.js 之前,如果想要在 Web 上执行一些计算机视觉任务,必须在服务器使用 C++ 进行开发,但在 OpenCV.js 中,使用 Web 浏览器的客户端拥有了直接使用计算机视觉应用的可能性。在本节中,我们将编写一个非常简

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包