c++ OpenCV 图片缩放 Resize

c++ OpenCV 图片缩放 Resize

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

 

发表回复

您的电子邮箱地址不会被公开。