1.涉及函数
函数功能
对图像进行缩放操作
函数原型
CV_EXPORTS_W void resize( InputArray src, OutputArray dst,
Size dsize, double fx = 0, double fy = 0,
int interpolation = INTER_LINEAR );
函数参数
InputArray src – 原始图像
OutputArray dst – 调整尺寸后图像
Size dsize – 调整后的图像尺寸
double fx = 0 – x轴上的缩放系数,一般用默认参数
double fy = 0 – y轴上的缩放系数,一般用默认参数
int interpolation = INTER_LINEAR – 差值方式,一般用默认参数
常用的差值方式
常用的默认差值方式有以下几种:
- INTER_NEAREST – 最近邻插值
INTER_LINEAR – 线性插值(默认)
INTER_AREA – 区域插值
INTER_CUBIC – 三次样条插值
INTER_LANCZOS4 – Lanczos插值
返回值
无
注意:
参数dsize、fx和 fy,不能同时为0。
2. 代码
#include <iostream>
using namespace std;
#include "cv.h"
#include "opencv2\opencv.hpp"
using namespace cv;
#if _DEBUG
#pragma comment(lib,"opencv_world340d.lib")
#else
#pragma comment(lib,"opencv_world340.lib")
#endif
int main()
{
Mat src = imread("D:\\OpencvTest\\lena.jpg");
if (src.data != NULL)
{
Mat bigImage;
//放大图像
resize(src, bigImage, Size(src.cols * 2, src.rows * 2));
Mat smallImage;
//缩小图像
resize(src, smallImage, Size(src.cols / 2, src.rows / 2));
imshow("原始图像", src);
imshow("放大图像", bigImage);
imshow("缩小图像", smallImage);
cvWaitKey(0);
}
else
{
cout << "图片加载失败,请检查文件是否存在!" << endl;
}
getchar();
return 0;
}