用途:几何变换,透视变换(视角切换),插值计算新像素。
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);
}
结果:

本文介绍了OpenCV中的`cv::resize`函数,用于执行图像的几何变换,包括缩放和透视变换。通过调整参数,可以实现不同比例的图像大小变化,并选择不同的插值方法,如INTER_NEAREST、INTER_LINEAR、INTER_CUBIC和INTER_LANCZOS4,以影响图像质量和计算速度。示例代码展示了如何使用OpenCV进行图像的放大和缩小操作。
7452

被折叠的 条评论
为什么被折叠?



