cv::resize()
函数是OpenCV中用于调整图像尺寸的函数。它可以用来缩放图像到指定的尺寸,或者按比例缩放图像。这个函数在图像处理和计算机视觉中经常用于图像的预处理和后处理。
cv::resize()
函数的基本语法如下:
void cv::resize(
cv::InputArray src, // 输入图像
cv::OutputArray dst, // 输出图像
const cv::Size& dsize, // 输出图像的大小
double fx = 0, // 水平方向的缩放因子
double fy = 0, // 垂直方向的缩放因子
int interpolation = INTER_LINEAR // 插值方法
);
参数解释:
src
:输入图像,可以是单通道或多通道图像。dst
:输出图像,函数将调整尺寸后的图像存储在这里。dsize
:指定输出图像的大小,可以是cv::Size
类型的对象,也可以是像素宽度和高度的元组。fx
:可选参数,水平方向的缩放因子。如果不为0,将根据这个因子进行缩放,而忽略dsize
。fy
:可选参数,垂直方向的缩放因子。如果不为0,将根据这个因子进行缩放,而忽略dsize
。interpolation
:可选参数,插值方法,用于在调整大小时估算像素的值。常见的插值方法包括cv::INTER_NEAREST
(最近邻插值)、cv::INTER_LINEAR
(双线性插值)、cv::INTER_CUBIC
(双三次插值)等。
将图片分辨力设置成自己规定的大小
#include <opencv2/opencv.hpp>
int main() {
// 读取输入图像
cv::Mat inputImage = cv::imread("111.jpg");
// 检查图像是否成功加载
if (inputImage.empty()) {
std::cout << "无法加载输入图像" << std::endl;
return -1;
}
// 将图像调整为目标分辨率
cv::Size targetSize(548, 367);
cv::resize(inputImage, inputImage, targetSize);
// 保存处理后的图像
cv::imwrite("output.jpg", inputImage);
std::cout << "图像分辨率已减小为548x367,并保存为output.jpg" << std::endl;
return 0;
}