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