我注意到以下两种方法都可以将一个图像缩小N倍,但第一种方法会产生更平滑的图像,看起来更加美观。
我想知道是否有一种插值方法可以产生类似于第一次调整大小的结果,但不必循环N次。任何关于为什么在多个步骤中进行调整大小可以产生更好结果的数学见解也很有趣。后面的方法(当N=5时)会产生非常像素化的结果,而第一种方法则非常平滑(这是有意义的,因为它是N步中4个像素的平均值)。
while (lod-- > Payload->MaxZoom)
{
cv::resize(img, img, cv::Size(), 0.5, 0.5, cv::INTER_LINEAR);
}
vs
double scale = 1.0 / (1<< (lod - Payload->MaxZoom));
cv::resize(img, img, cv::Size(), scale, scale, cv::INTER_LINEAR);
我想知道是否有一种插值方法可以产生类似于第一次调整大小的结果,但不必循环N次。任何关于为什么在多个步骤中进行调整大小可以产生更好结果的数学见解也很有趣。后面的方法(当N=5时)会产生非常像素化的结果,而第一种方法则非常平滑(这是有意义的,因为它是N步中4个像素的平均值)。