OpenCV 图形API(70)图像与通道拼接函数-----创建一个图像或矩阵(GMat)的副本的操作函数copy()
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
制作输入图像的一个副本。请注意,这个副本可能不是实际存在的(没有实际复制数据)。使用此函数来维护图的契约,例如当图的输入需要直接传递到输出时,就像在流模式(Streaming mode)中那样。
注意:
该函数的文本标识符是 “org.opencv.streaming.copy”。
函数原型
GMat cv::gapi::copy
(const GMat & in
)
参数
- 参数 in: 输入图像
返回值
- 输入图像的一个副本
代码示例
#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;
}
运行结果
Original matrix:
[ 1, 2, 3;4, 5, 6;7, 8, 9]
Copied matrix:
[ 1, 2, 3;4, 5, 6;7, 8, 9]