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

运行结果

相关推荐
CoovallyAIHub2 小时前
2025目标检测模型全景图:从RF-DETR到YOLOv12,谁主沉浮?
深度学习·算法·计算机视觉
sight-ai3 小时前
OpenRouter vs. SightAI:统一入口,还是统一“智能体验”?
人工智能·开源·大模型·api
道可云3 小时前
政务AI大模型落地:聚焦四大场景,提升服务效率
人工智能·政务
机器之心3 小时前
刚刚,Thinking Machines Lab博客提出在策略蒸馏,Qwen被cue 38次
人工智能·openai
lzptouch3 小时前
蚁群(Ant Colony Optimization, ACO)算法
人工智能·算法·机器学习
java_logo3 小时前
Docker 部署 CentOS 全流程指南
linux·运维·人工智能·docker·容器·centos
Clain3 小时前
Ollama、LM Studio只是模型工具,这款工具比他俩更全面
人工智能·机器学习·llm
wan5555cn3 小时前
中国启用WPS格式进行国际交流:政策分析与影响评估
数据库·人工智能·笔记·深度学习·算法·wps
AndrewHZ3 小时前
【图像处理基石】图像形态学处理:从基础运算到工业级应用实践
图像处理·python·opencv·算法·计算机视觉·cv·形态学处理
一个处女座的程序猿O(∩_∩)O3 小时前
实现 AI 流式响应:从等待到实时交互的技术解析
网络·人工智能·交互