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;
}

运行结果

相关推荐
emo猫pro_max1 小时前
openclaw飞书流式回复配置指南
人工智能
FishCoderh1 小时前
被OpenClaw的Session搞晕了?这篇让你彻底搞懂
人工智能
孤烟2 小时前
19 万 + GitHub 星标!OpenClaw 凭什么成为 2026 最火 AI Agent,万字实测告诉你
人工智能
zhl773 小时前
YOLOv5:从0搭建你的第一个目标检测模型
人工智能
TechFind3 小时前
用 OpenClaw 搭建企业微信 AI Agent:从零到自动化客服只需 30 分钟
人工智能·agent
FishCoderh3 小时前
OpenClaw部署后Tools工具权限被禁用?一行配置解决
人工智能
飞哥数智坊4 小时前
openclaw 不是全站第一!但它的爆发,足以引人深思
人工智能
zone77396 小时前
001:LangChain的LCEL语法学习
人工智能·后端·面试
程序员鱼皮6 小时前
微软竟然出了免费的 AI 应用开发课?!我已经学上了
人工智能·程序员·ai编程
DevnullCoffe6 小时前
基于 OpenClaw + Pangolinfo API 的 Amazon 价格监控系统:架构设计与最佳实践
人工智能·架构