opencv c++图像缩放与插值(19)

用途:几何变换,透视变换(视角切换),插值计算新像素。

API

void cv::resize( srcdstdsize,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);
}

结果:

 


版权声明:本文为lucust原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。