【图像处理基础】1.图像插值算法


1.图像插值算法原理介绍

所谓插值算法,意思是在已有图片的情况下,在像素与像素之间插入新的像素,当然不止是用于像素插入使图像扩增,也可以用于图像缩放,那么新的像素怎么取值呢,下面介绍两种取值方法。

1.1最近邻插值算法

顾名思义,最近邻插值算法值的是插的新像素与和它最相邻像素的取值相同。
在这里插入图片描述

如上图所示,若插入的新像素位于P位置,可以看到Q11与它最近,所以f( P)=f(Q11)。

  • 算法过程:
    最近邻插值算法的过程是首先假设原图是一个像素大小为W×H的图片,缩放后的图片是一个像素大小为w×h的图片,这时候我们是已知原图中每个像素点上的像素值(即灰度值等)的(⚠️像素点对应像素值的坐标都是整数)。这个时候已知缩放后有一个像素点为(X,Y),想要得到该像素点的像素值,那么就要根据缩放比例去查看其对应的原图的像素点的像素值(x,y),然后将该像素值赋值给该缩放后图片的像素点(X,Y)

  • 缩放公式:
    根据横轴,即宽可得:X/x = W/w
    根据纵轴,即高可得:Y/y = H/h
    那么能够得到 f(X,Y)= f( W/w × x, H/h ×y)
    因此这个时候缩放后的图片像素点(x,y)的像素值就对应着原图像素点( W/w × x, H/h ×y)的像素值,若这个值非整数,则根据最近邻插值法,四舍五入取离这个值最近的整数作为最终结果。

  • 举例说明:

    • 放大图片的例子
      若将1副3×3的图片放大的4×4,用f(x,y)表示目标图像,h(x,y)表示原图像。
      则f(x,y)=h(3/4×x,3/4×y)
      所以f(1,1)=h(0.75,0.75)=h(1,1),f(0,3)=h(0,2.25)=h(0,2)

    • 缩小图片的例子
      若将1副5×5的图片缩小成3×3
      则 f(x,y)=h(5/3×x,5/3×y)
      所以,f(1,1)=h(5/3,5/3)=h(2,2), f(0,3)=h(0,5)

  • 优缺点
    这种方法的好处就是简单,但是坏处就是太过粗暴,会缺失精度,造成缩放后的图像灰度上的不连续,在变化地方可能出现明显块状效应,如下图所示:
    在这里插入图片描述在这里插入图片描述

1.2线性插值法

在这里插入图片描述
如图所示,我们已知(x0,y0),(x1,y1)和x,需要求得y的值
可以得到:
在这里插入图片描述
进而得到:
在这里插入图片描述
可以看到,y的值的求法是用x和x0,x1的距离作为一个权重,用于y0和y1的加权。

1.3双线性插值

双线性插值是线性插值在二维时的推广,其核心思想是在两个方向分别进行一次线性插值。
在这里插入图片描述
假如我们想得到未知函数 f 在点 P = (x, y) 的值,假设我们已知函数 f 在 Q11 = (x1, y1)、Q12 = (x1, y2), Q21 = (x2, y1) 以及 Q22 = (x2, y2) 四个

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值