Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 当将原始图像放大到n倍(其中n不是整数)时,如何在调整图像大小时使用双线性插值_Image_Image Processing_Bilinear Interpolation - Fatal编程技术网

Image 当将原始图像放大到n倍(其中n不是整数)时,如何在调整图像大小时使用双线性插值

Image 当将原始图像放大到n倍(其中n不是整数)时,如何在调整图像大小时使用双线性插值,image,image-processing,bilinear-interpolation,Image,Image Processing,Bilinear Interpolation,我最近学习了双线性插值,根据维基上的描述,我觉得双线性插值只能用于整数倍放大,例如,给定4x4分辨率的图像,通过双线性插值,它只能放大到8x8、12x12、16x16。。。等等,但不能放大到9x9,13x13。。。就因为像9或13这样的数字不能被4除,对吗?如果不正确,如何通过双线性插值将其放大到n倍,其中n不是整数?不,这是不正确的您可以从任何正分辨率调整到任何其他分辨率。因此,假设源图像是xs0,ys0,目标图像是xs1,ys1分辨率 处理目标图像的所有像素 x0 = x1*(xs0-1)/

我最近学习了双线性插值,根据维基上的描述,我觉得双线性插值只能用于整数倍放大,例如,给定4x4分辨率的图像,通过双线性插值,它只能放大到8x8、12x12、16x16。。。等等,但不能放大到9x9,13x13。。。就因为像9或13这样的数字不能被4除,对吗?如果不正确,如何通过双线性插值将其放大到n倍,其中n不是整数?

不,这是不正确的您可以从任何正分辨率调整到任何其他分辨率。因此,假设源图像是
xs0,ys0
,目标图像是
xs1,ys1
分辨率

  • 处理目标图像的所有像素

    x0 = x1*(xs0-1)/(xs1-1)
    y0 = y1*(ys0-1)/(ys1-1)
    
    通过
    x1,y1
    覆盖
    xs1,ys1

  • 为每个像素计算源图像中的浮动位置

    x0 = x1*(xs0-1)/(xs1-1)
    y0 = y1*(ys0-1)/(ys1-1)
    
  • 从4个邻域进行双线性插值

    x0,y0的整数部分指向起点,小数部分是插值参数
    tx,ty
    。。。因此,在源
    (x0,y0),(x0+1,y0),(x0,y0+1),(x0+1,y0+1)
    之间插入像素,并将结果存储在目标图像的
    (x1,y1)
    。以不同方式处理边缘像素(
    x0==xs0-1,y0==ys0-1
    )以避免访问冲突


  • 不,那是不对的您可以从任何正分辨率调整到任何其他分辨率。因此,假设源图像是
    xs0,ys0
    ,目标图像是
    xs1,ys1
    分辨率

  • 处理目标图像的所有像素

    x0 = x1*(xs0-1)/(xs1-1)
    y0 = y1*(ys0-1)/(ys1-1)
    
    通过
    x1,y1
    覆盖
    xs1,ys1

  • 为每个像素计算源图像中的浮动位置

    x0 = x1*(xs0-1)/(xs1-1)
    y0 = y1*(ys0-1)/(ys1-1)
    
  • 从4个邻域进行双线性插值

    x0,y0的整数部分指向起点,小数部分是插值参数
    tx,ty
    。。。因此,在源
    (x0,y0),(x0+1,y0),(x0,y0+1),(x0+1,y0+1)
    之间插入像素,并将结果存储在目标图像的
    (x1,y1)
    。以不同方式处理边缘像素(
    x0==xs0-1,y0==ys0-1
    )以避免访问冲突