OpenCV 图形API(70)图像与通道拼接函数-----创建一个图像或矩阵(GMat)的副本的操作函数copy()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

制作输入图像的一个副本。请注意,这个副本可能不是实际存在的(没有实际复制数据)。使用此函数来维护图的契约,例如当图的输入需要直接传递到输出时,就像在流模式(Streaming mode)中那样。

注意:

该函数的文本标识符是 "org.opencv.streaming.copy"。

函数原型

cpp 复制代码
GMat cv::gapi::copy 	
(
 	const GMat &  	in
) 	

参数

  • 参数 in: 输入图像

返回值

  • 输入图像的一个副本

代码示例

cpp 复制代码
#include <iostream>
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>
#include <opencv2/opencv.hpp>

int main()
{
    // 创建一个示例 GMat 输入对象
    cv::Mat src_mat = ( cv::Mat_< uchar >( 3, 3 ) << 1, 2, 3, 4, 5, 6, 7, 8, 9 );  // 示例8位无符号整数矩阵

    // 定义 G-API 图像处理图
    cv::GMat in;
    cv::GMat out = cv::gapi::copy( in );

    // 定义并编译 G-API 图(graph)
    cv::GComputation graph( cv::GIn( in ), cv::GOut( out ) );

    // 输出变量
    cv::Mat dst_mat;

    // 执行 G-API 计算图
    graph.apply( src_mat, dst_mat, cv::compile_args( cv::gapi::kernels() ) );

    // 输出原矩阵和复制后的矩阵
    std::cout << "Original matrix:\n" << src_mat << std::endl;
    std::cout << "Copied matrix:\n" << dst_mat << std::endl;

    return 0;
}

运行结果

cpp 复制代码
Original matrix:
[  1,   2,   3;
   4,   5,   6;
   7,   8,   9]
Copied matrix:
[  1,   2,   3;
   4,   5,   6;
   7,   8,   9]
相关推荐
是乐谷2 分钟前
2025-05-19 代码人生 - 精选文章周刊
人工智能·python·程序人生·面试·职场和发展
Humbunklung11 分钟前
机器学习中的多GPU训练模式
人工智能·机器学习
灏瀚星空14 分钟前
PyTorch进阶实战指南:01自定义神经网络组件开发
人工智能·pytorch·神经网络
kebijuelun17 分钟前
BLIP3-o:理解和生成统一的多模态模型
人工智能·深度学习·语言模型·aigc·transformer
飞凌嵌入式37 分钟前
【RK3588新品】嵌入式人工智能实验箱EDU-AIoT ELF 2发布
人工智能·嵌入式·飞凌嵌入式
攻城狮7号40 分钟前
Java三十而立:Java 的30岁与Spring AI 1.0正式发布
java·人工智能·深度学习·ai·spring ai
jndingxin42 分钟前
OpenCV CUDA 模块图像过滤------创建一个线性滤波器(Linear Filter)函数createLinearFilter()
人工智能·opencv·计算机视觉
jndingxin1 小时前
OpenCV CUDA模块图像过滤------创建一个盒式滤波器(Box Filter)函数createBoxFilter()
人工智能·opencv·计算机视觉
扫地僧9851 小时前
基于音频Transformer与动作单元的多模态情绪识别算法设计与实现(在RAVDESS数据集上的应用)
人工智能·深度学习·transformer·多模态·情绪识别
哎呦你好1 小时前
【background】CSS 背景全解析:从基础属性到视觉魔法
前端·css·人工智能·python