图像的尺寸调整有两种方法:1、给定Size 进行调整 2、Size 为空按宽高比例进行调整
图像的裁剪则是使用Mat 构造函数进行
代码:
#include <iostream>
#include <opencv2/highgui.hpp> // 说是说gui 具体什么gui 不清楚
#include <opencv2/imgcodecs.hpp> // 图像头文件
#include <opencv2/imgproc.hpp> // 图像处理头文件
using namespace std;
using namespace cv;
/// crop and resize image //
/// 修剪并且重设图像大小 ///
int main()
{string path = "resources/test.png"; // 导入图形的时候,先要在右边点击显示所有文件!!!Mat img = imread(path); // 在opencv 中所有的图像信息都使用Mat Mat imgResize,imgCrop;//cout << img.size << endl; // 因为resize 之前先要了解原图像的大小 大小为 559*768//resize(img, imgResize,Size(480,640)); // 强行将 559*768 尺寸的图像转换为 480*640的图像// 假设我们若需要按照比例来放大缩小图案resize(img, imgResize, Size(), 0.5, 0.5);// 剪裁图像Rect roi(100,100,300,250); // Rect 应该定义 x y 以及 width 和 height imgCrop = img(roi);imshow("Image", img);imshow("Image Resize", imgResize);imshow("Image Crop", imgCrop);waitKey(0); // 延时,0即相当于无穷大
}
运行结果: