#include<opencv2/opencv.hpp>
using namespace cv;
Mat resize(const Mat &, int, int);
int main()
{
Mat img = imread("C:\\Users\\Yang\\Desktop\\0.bmp", 0);
imshow("原图", img);
Mat newImg = resize(img, 200, 300);
imshow("效果图", newImg);
waitKey(0);
return 0;
}
Mat resize(const Mat &img, int height, int width)
{
double rows = img.rows, cols = img.cols;
float datai = (float)rows/height, dataj = (float)cols / width;
Mat outPut = Mat::zeros(height, width, CV_8UC1);
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
outPut.at<uchar>(i, j) = img.at<uchar>(round(i*datai), round(j*dataj));
}
}
return outPut;
}