#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
void PrintMs(const char *text = "")
{
static long long last = 0;
long long cur = getTickCount();
if (last == 0)
{
last = cur;
return;
}
long long ms = 0;
ms = ((double)(cur - last) / getTickFrequency()) * 1000;
if (*text != 0)
{
printf("%s = %dms\n", text,ms);
}
last = getTickCount();
}
void xresize(Mat &src, Mat &des, Size size)
{
des.create(size, src.type());
//映射的原图坐标
int sx, sy = 0;
float fx = (float)src.cols / des.cols;
float fy = (float)src.rows / des.rows;
for (int x = 0; x < des.cols; x++)
{
sx = fx * x + 0.5;
for (int y = 0; y <des.rows; y++)
{
sy = fy * y + 0.5;
des.at<Vec3b>(y, x) = src.at<Vec3b>(sy, sx);
}
}
}
int main(int argc, char *argv[])
{
Mat src = imread("1.png"); //512*512 256 1024
Mat img256,img1024,des256,des1024;
resize(src, des256, Size(256, 256), 0, 0, INTER_NEAREST);
PrintMs();
PrintMs("img1024");
resize(src, des1024, Size(1024, 1024), 0, 0, INTER_LINEAR);
PrintMs("des1024");
namedWindow("src");
namedWindow("des1024");
imshow("src", src);
imshow("des1024", des1024);
waitKey(0);
return 0;
}
OpenCV重置图片大小尺寸
最新推荐文章于 2024-05-17 09:42:39 发布