当前位置: 首页 > wzjs >正文

国家高新技术企业含金量搜索引擎优化的工具

国家高新技术企业含金量,搜索引擎优化的工具,北湖建设局网站,湖南网站建设推广操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 引言 OpenCV 图形API(或称G-API)是一个新的OpenCV模块,旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

引言

OpenCV 图形API(或称G-API)是一个新的OpenCV模块,旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行模型来实现这两个目标。

G-API是OpenCV中的一个特殊模块——与其他大多数主要模块不同,其他模块专注于提供具体的计算机视觉算法,而这个模块则充当框架的角色。G-API提供了定义计算机视觉操作的方法,使用这些操作以表达式的形式构造图,并最终为特定后端实现和运行这些操作。

注意:
G-API是一个新模块,目前正处于积极开发中。它的API目前还不稳定,未来可能会有一些虽小但却可能影响兼容性的变化。
内容

G-API文档组织如下章节:

  • 为什么需要图形API?

    G-API背后的动机及其目标。

  • 高层次设计概览

    G-API架构的一般概述及其主要内部组件。

  • 内核API

    学习如何在G-API中引入新的操作并在各种后端上实现它们。

  • 实现细节

    G-API的底层实现细节,适用于那些想要贡献代码的人。

  • API参考:函数和类

    • G-API核心功能

      核心G-API操作 - 算术、布尔和其他矩阵操作;

    • G-API图像处理功能

      图像处理函数:色彩空间转换、各种滤镜等。

我会按章节来一篇一篇的写,祝愿自己能写完!!!

API 示例

下面展示了一个非常基础的G-API管道示例:


#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>
#include <opencv2/gapi/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/videoio.hpp>
int main( int argc, char* argv[] )
{cv::VideoCapture cap;if ( argc > 1 )cap.open( argv[ 1 ] );elsecap.open( 0 );CV_Assert( cap.isOpened() );cv::GMat in;cv::GMat vga     = cv::gapi::resize( in, cv::Size(), 0.5, 0.5 );cv::GMat gray    = cv::gapi::BGR2Gray( vga );cv::GMat blurred = cv::gapi::blur( gray, cv::Size( 5, 5 ) );cv::GMat edges   = cv::gapi::Canny( blurred, 32, 128, 3 );cv::GMat b, g, r;std::tie( b, g, r ) = cv::gapi::split3( vga );cv::GMat out        = cv::gapi::merge3( b, g | edges, r );cv::GComputation ac( in, out );cv::Mat input_frame;cv::Mat output_frame;CV_Assert( cap.read( input_frame ) );do{ac.apply( input_frame, output_frame );cv::imshow( "output", output_frame );} while ( cap.read( input_frame ) && cv::waitKey( 30 ) < 0 );return 0;
}

运行结果

  • G-API 是一个独立的 OpenCV 模块,所以需要显式包含它的头文件。
    在 main() 函数的开头,首先创建并初始化了 OpenCV 的标准视频捕捉对象,用于从连接的摄像机或指定文件中获取视频帧。
  • 接着构建 G-API 管道,实际上是针对 cv::GMat 数据的一系列 G-API 操作调用。需要注意的是,这一段代码仅仅是定义了要执行的动作,而并没有实际执行它们。此时没有进行任何处理,G-API 只是记录下了哪些操作组成了管道以及它们是如何连接在一起的。G-API 数据对象(这里是 cv::GMat)用于连接不同的操作。in 作为一个空的 cv::GMat 标识了计算的起点。
  • 在编写完 G-API 代码后,通过实例化 cv::GComputation 对象来捕获这些操作形成一个调用图。这个对象接受输入和输出数据引用(本例中分别是 in 和 out 的 cv::GMat 对象),并根据 in 和 out 之间的所有数据流重建调用图。
  • cv::GComputation 是一个轻量级的对象,它仅仅捕获了组成一次计算的操作。不过,它可以用来执行计算——在后续的处理循环中,每一个捕获到的帧(即 cv::Mat input_frame)都会被传递给 cv::GComputation::apply() 方法进行处理。

在这里插入图片描述

cv::GComputation::apply() 是一个支持多态的方法,它可以接受可变数量的参数。由于这里的计算是基于一个输入和一个输出定义的,因此使用了 cv::GComputation::apply() 的特殊重载版本来传递输入数据并获取输出数据。

在内部,cv::GComputation::apply() 会为给定的输入参数编译捕获的图,并立即在数据上执行编译后的图。

通过这个示例,可以概述一些重要的概念:

  • 图声明和图执行是独立的步骤:首先声明图(即定义操作流程),然后在需要的时候执行它。
  • 图是从一系列G-API表达式中隐式构建的:不需要手动创建复杂的图结构,而是通过一系列函数调用来描述处理流程,G-API会自动将其转换为相应的图。
  • G-API支持类似函数的调用和操作符:例如 cv::gapi::resize() 这样的函数调用,以及用于计算按位或的操作符 operator|()。
  • G-API语法旨在保持纯粹性:图中的每个操作调用都会产生一个新的结果,从而形成一个有向无环图(DAG)。
  • 图声明不绑定到任何数据:实际的数据对象(如 cv::Mat)是在图已经声明之后才进入过程的。

查看教程和移植示例以了解更多关于各种G-API功能和概念的信息。

http://www.dtcms.com/wzjs/11270.html

相关文章:

  • 企业网站开发需求分析个人网站制作模板主页
  • 网站初期缺点企业网站制作要求
  • 怎么宣传自己的网站推广外贸网站建站
  • 网站制作公司珠海新手怎么做销售
  • 网站结构图怎么做北京百度推广优化公司
  • 怎么做一个网站多少钱百度统计网站
  • 廊坊网站建设咨询青橙网络创建网站免费注册
  • 互联网营销是干嘛的岳阳seo公司
  • 网页美工培训班seo站长工具查询
  • 动态网站制作视频教程域名查询138ip
  • 做苗木选择哪个网站搜索引擎营销
  • seo服务是什么新十条优化措施
  • 四川冠辰网站建设网络营销岗位有哪些
  • 铁岭网站制作引流用什么话术更吸引人
  • 深圳中高端网站建设怎么样重庆网站快速排名优化
  • 网站建设公司行业现状沈阳seo博客
  • 在国内做博彩网站代理百度科技有限公司
  • 最新新闻事件今天国内大事2022班级优化大师下载安装app
  • 开网站做外贸今日新闻最新消息50字
  • 网站建设项营销软文推广平台
  • 重庆九度设计优化大师win10下载
  • 阿里云做网站视频教程软文怎么写比较吸引人
  • 给人做网站多少钱网络优化大师app
  • 建站优化易下拉系统免费ip地址代理
  • 外贸网站运营推广整站seo外包
  • 如何使用mysql数据库做网站广州网站制作公司
  • 公司部门职责及配置关于进一步优化
  • 北京朝阳区二手房出售四川seo整站优化费用
  • 网站建设预计费用天津做网站的公司
  • 局域网内部如何做网站潍坊网站建设方案咨询