用途:几何变换,透视变换(视角切换),插值计算新像素。
API
void cv::resize( src, dst, dsize,double fx =
0
,double fy =0
,int interpolation =INTER_LINEAR
)src //输入图像
dst //输出图像
dsize // 输出图像与原图像尺寸比例,Size类型
fx //输出图像与原图像x尺寸比例,定义了dsize就不需要改fx,fy,赋值0即可。
fy //输出图像与原图像y尺寸比例
interpolation // 插值方法
插值方法:
较快方法
INTER_NEAREST = 0
INTER_LINEAR = 1
较慢方法
INTER_CUBIC = 2
INTER_LANCZOS4 = 3
代码:
void QuickDemo::resize_demo(Mat& image)
{
Mat zoomin, zoomout;
int h = image.rows;
int w = image.cols;
//缩小
resize(image, zoomin, Size(w / 2, h / 2), 0, 0, INTER_LINEAR);
imshow("zoomin", zoomin);
//放大
resize(image, zoomout, Size(w*1.2, h *1.2), 0, 0, INTER_LINEAR);
imshow("zoomout", zoomout);
}
结果: