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

运行结果

相关推荐
西维9 分钟前
高效使用AI从了解 Prompt / Agent / MCP 开始
前端·人工智能·后端
柠檬味拥抱27 分钟前
基于Ray与Dask的AI Agent大规模数据并行计算优化
人工智能
聚客AI30 分钟前
📚LangChain框架下的检索增强:5步构建高效智能体系统
人工智能·langchain·llm
Fine姐34 分钟前
自然语言处理NLP L4: 高级语言模型——四种泛化平滑方式
人工智能·语言模型·自然语言处理
袁培宇43 分钟前
python学习打卡day40
人工智能·python·学习
CodeDevMaster1 小时前
Claude Code入门指南:开发者必备的AI编程工具
人工智能·ai编程·claude
竹子_231 小时前
《零基础入门AI:深度学习之NLP基础学习》
人工智能·python·深度学习·自然语言处理
一念&1 小时前
今日科技风向|从AI芯片定制到阅兵高科技展示——聚焦技术前沿洞察
人工智能·科技
AI 嗯啦1 小时前
SQL详细语法教程(七)核心优化
数据库·人工智能·sql
居然JuRan1 小时前
模型压缩“炼金术”:剪枝、量化、知识蒸馏大揭秘
人工智能