1、resize()函数
最简单的图像变换就是调整图像大小。resize()函数用于调整图像的大小。 根据输入的图像和尺寸,生成所需尺寸的新图像。
void cv::resize(
cv::InputArray src,
cv::OutputArray dst,
cv::Size dsize,
double fx = 0, e
double fy = 0,
int interpolation = CV::INTER_LINEAR
);
可以用两种方式指定输出图像的大小。 一种方法是使用绝对尺寸; 在这种情况下,dsize参数直接设置结果图像dst的大小。 另一种选择是使用相对大小; 在这种情况下,将dsize设置为Size(0,0),并将fx和fy分别设置为想要应用于x和y轴的比例因子。最后一个参数是插值方法,其默认为线性插值。其他可用选项如表1所示。
表1 cv::resize()插值选项
cv::INTER_NEAREST | cv::INTER_LINEAR | cv::INTER_AREA |
cv::INTER_CUBIC | cv::INTER_LANCZOS4 |
默认插值方法是双线性插值,但可以选择其他方法。最简单的方法是从源图像中最接近的像素处获取已调整大小的像素值; 这时选择插值INTER_NEAREST。或者,可以根据它们与目标像素的接近程度,对2×2邻域的源像素值进行线性加权,这就是INTER_LINEAR所做的。也可以将