
#include <iostream>
#include <filesystem>
#include <string>
#include <windows.h>
#include <opencv2/opencv.hpp>
namespace fs = std::filesystem;
using namespace cv;
using namespace std;
// 图片缩放
void test_resize()
{
Mat src = imread("F:/opencv/console/x64/Debug/jzh.png");
Mat dst1;
Mat dst2;
/*
Size dsize:输出图像的尺寸,如果dsize设置为0,则dsize的值将由下式计算得到
dsize = Size(round(fx * src.cols), round(fy * src.rows))
需要注意的是dsize和fx、fy不能同时为0
double fx = 0: 水平方向上的缩放系数,当fx为0时,将由如下公式计算得到
(double)dsize.width / src.cols
double fy = 0 : 垂直方向上的缩放系数,如果fy为0,将由如下公式计算得到
(double)dsize.height / src.rows
*/
// 最近邻插值 INTER_NEAREST
resize(src, dst1, Size(256, 256), 0, 0, INTER_NEAREST);
// 双线性插值 INTER_LINEAR
resize(src, dst2, Size(256, 256), 0, 0, INTER_LINEAR);
imshow("src", src);
imshow("INTER_NEAREST", dst1);
imshow("INTER_LINEAR", dst2);
}
int main()
{
// 图片缩放
test_resize();
waitKey(0);
destroyAllWindows();
return 0;
}