基于c++和opencv,把一张像素为512*512的图像,放大到1066*1066像素
时间: 2024-01-17 13:09:31 浏览: 19
好的,下面是基于C++和OpenCV的代码实现:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 读入原始图像
Mat img = imread("image.jpg", IMREAD_COLOR);
// 定义目标图像的大小
int dst_width = 1066;
int dst_height = 1066;
// 创建空白的目标图像
Mat dst = Mat::zeros(dst_height, dst_width, img.type());
// 计算缩放倍数
double scale = (double)dst_width / img.cols;
// 缩放原始图像
resize(img, dst, Size(), scale, scale, INTER_LINEAR);
// 显示结果
imshow("dst", dst);
waitKey(0);
return 0;
}
```
其中,imread()函数用于读入原始图像,需要将其替换成实际图像的路径和名称。resize()函数用于进行缩放操作,第一个参数为原始图像,第二个参数为目标图像,第三个参数为目标图像的大小,第四个和第五个参数为缩放倍数,最后一个参数为插值方法。这里使用了线性插值方法INTER_LINEAR,可以得到较为平滑的结果。