excel学习库

excel表格_excel函数公式大全_execl从入门到精通

数字图像处理中的双线性插值

01 图像插值概述 图像插值是一种基本的图像处理方法,它可以为数字图像增加或减少像素的数目。当图像被放大时,像素会相应地增加,该像素增加的过程实际就是插值程序自动选择信息较好的像素作为新的像素以弥补空白像素空间的过程。虽然经过插值后图像可以变得更平滑、干净,但由于新增加的像素也仅仅只是原始像素的某种组合而已,所以图像的插值运算并不会增加新的图像信息。 明白了插值的过程,我们知道在图像中插值需要解决两个基本问题:(1)如何定位插值图像坐标对应的原始图像坐标。插值并不是在插值图像的空白区域随意地填补一些数值,而应该是根据原始图像中的像素值及其邻域像素进行填充。换句话说,若想在插值图像的(i,j)处插值,首先要做的就是在原始图像中找到与坐标(i,j)对应的坐标(x,y),进而根据求得的(x,y)及周围像素进行插值运算;(2)如何确定插入值。当坐标(x,y)确定之后,此时应该按照不同的权重从原始图像的坐标(x,y)处区域选取合适的像素值并插入插值图像中以弥补空白像素空间。简言之,即插值图像提供坐标-->计算该坐标在原始图像中的对应坐标-->原始图像返回像素值并进行插值运算。故,本文接下来将针对这两个基本问题展开论述。 02 定位插值坐标 假设有原始图像OriImage和插值图像IntImage,其中,插值图像为原始图像经过插值后得到的图像,该插值过程如下图所示: 由上图可知,原始图像实际上进行了2倍插值,那么必然有(x,y)=0.5*(i,j)。令原始图像中(x,y)=(0,0)处的像素值为240,则插值图像中(i,j)=(0,0)处的像素值亦为240;原始图像中(x,y)=(0,1)处的像素值为20,则插值图像中(i,j)=(0,2)处的像素值亦为20。依次类推,可以发现插值图像中的部分像素值与原始图像的像素值保持一致。这表示,与数据拟合不同的是图像的插值运算必然会经过原始数据点(即像素值)。得到的初步插值图像(即最近邻插值)如下图所示:然而,插值图像中(i,j)=(0,1)、(1,1)、(1,2)等处的像素值该如何确定?为确定这些坐标处的像素值,我们不妨求出此时对应的(x,y)值。以(i,j)=(1,2)为例,具体步骤如下所示:分别解得x=0.5、y=1。但是,在原始图像中(x,y)=(0.5,1)处并没有像素值。至此,虽然解决了坐标问题,但插值操作却似乎陷入了死胡同、进无可进。 03 双线性插值 在上一节中,我们发现根据(i,j)求得的(x,y)处并没有像素值可直接用于插值运算,这仿佛使得插值运算被迫中止。然而,事实并非如此,虽然无法直接获取(x,y)处的像素值,但却可以对求得的(x,y)=(0.5,1)进行改造,从而利用双线性插值方法给出比最近邻插值更加合适的像素用于图像插值。具体步骤如下所示:因为当u,v越大时,则距离(n,m)越远,也就是说此时应该给(n,m)分配越小的权重系数;另一方面,当u,v越大时,则离(n+1,m+1)反而越近,故应该给(n+1,m+1)分配越大的权重系数;最后,u越大,则距离n+1行越近,v越大,则距离m列越远;u越小,则距离n行越近,v越小,则距离m+1列越远。该分析过程如下图所示:综上所述,原始图像中坐标(x,y)=(0.5,1)处应传回的像素值为:其中,OriImage[n,m]表示原始图像(x,y)=(n,m)处的像素值。 04 结论 这便是数字图像处理中的双线性插值法,双线性插值法充分利用了邻域像素的不同占比程度而计算得出最合适的插值像素,从而完成插值。相比较于最近邻插值,双线性插值的插值效果要好得多,因为最近邻插值只跟(x,y)最近的像素值有关,而双线性插值是按照(x,y)上下、左右四个像素值的重要程度进行插值的(即越接近越重要)。此外,除了双线性插值、最近邻插值之外,常用的插值方法还有双三次插值,其效果最好但也最复杂。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接