- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
裁剪一个2D矩阵。
该函数根据给定的 cv::Rect 裁剪矩阵。
输出矩阵必须与输入矩阵具有相同的深度,大小由给定的矩形大小指定。
注意:
函数的文字ID是 “org.opencv.core.transform.crop”
函数原型
GMat cv::gapi::crop
(const GMat & src,const Rect & rect
)
参数
- 参数 src 输入矩阵。
- 参数 rect 用于裁剪矩阵的矩形区域。
代码示例
#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转换为GMatcv::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;
}