OpenCV 图形API(71)图像与通道拼接函数-----从图像(GMat)中裁剪出一个矩形区域的操作函数 crop()

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

算法描述

裁剪一个2D矩阵。

该函数根据给定的 cv::Rect 裁剪矩阵。

输出矩阵必须与输入矩阵具有相同的深度,大小由给定的矩形大小指定。

注意:

函数的文字ID是 "org.opencv.core.transform.crop"

函数原型

cpp 复制代码
GMat cv::gapi::crop 
(
 	const GMat &  	src,
	const Rect &  	rect 
) 	

参数

  • 参数 src 输入矩阵。
  • 参数 rect 用于裁剪矩阵的矩形区域。

代码示例

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

int main()
{
    // 创建一个400x400的测试图像
    cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png");
   
    // 定义要裁剪的矩形区域
    cv::Rect rect( 100, 100, 250, 250 );  // x, y, width, height

    // 将cv::Mat转换为GMat
    cv::GMat in;
    auto cropped = cv::gapi::crop( in, rect );

    // 定义并编译G-API图
    cv::GComputation crop_comp( cv::GIn( in ), cv::GOut( cropped ) );
    cv::Mat cropped_img;

    // 应用G-API图到输入图像
    crop_comp.apply( cv::gin( img ), cv::gout( cropped_img ) );

    // 显示原始和裁剪后的图像
    cv::imshow( "Original Image", img );
    cv::imshow( "Cropped Image", cropped_img );
    cv::waitKey();

    return 0;
}

运行结果

相关推荐
一水鉴天4 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
198******126344 小时前
2026 企业 AI 办公产品选型指南:从场景匹配判断工具价值
人工智能
玫瑰互动GEO5 小时前
GEO优化学习九级模型:开发者从认知层切入
人工智能·ai·ai搜索·gem·生成式引擎优化·gem优化
海绵宝宝转agent5 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
每天都要写算法(努力版)5 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
liron715 小时前
智能实体演化系统的统一性概念
人工智能·深度学习·神经网络
呆萌很5 小时前
常用骨干网络预训练输入尺寸
人工智能
Yolanda_20225 小时前
19.神经网络-最大池化的使用
人工智能·深度学习·神经网络
W***25926 小时前
2026 企业 AI 办公平台选型指南:可完成全链路任务的 AI 工具评估
人工智能
RockHopper20256 小时前
面向工业现实的原生数字化工程框架概要说明
人工智能·智能体·世界模型·工业数字化