图像亚像素插值方法及装置、计算机可读存储介质与流程

文档序号:30840889发布日期:2022-07-23 00:26阅读:139来源:国知局
图像亚像素插值方法及装置、计算机可读存储介质与流程

1.本发明涉及图像处理技术领域。


背景技术:

2.数字图像处理技术在诸多领域中被广泛使用,摄影测量是其中一个应用领域。摄影测量是对被测对象拍摄图像,通过对图像数据的分析得出被测参数的测量方法。由于相机自身的硬件限制,拍摄得到的图像不是无限像素密度的,因此可能被测标志点在图像中的位置处于整像素(图像的原始像素,即由相机拍摄到的像素)之间的间隙,而不是整像素,此时就需要插入亚像素以使被测标志点的位置是一个像素。常用的亚像素插值算法有双线性插值算法、立方函数插值算法等,这些算法的精度不够高。


技术实现要素:

3.有鉴于此,本发明提供一种图像亚像素插值方法,其精度更高。
4.为实现上述目的,本发明提供以下技术方案。
5.1、图像亚像素插值方法,在待处理图像的平面内定义平面直角坐标系,x轴与所述图像的整像素的一个排列方向平行,y轴与所述图像的整像素的另一个排列方向平行,以在坐标轴方向上排列的相邻的两个整像素之间的间距为单位长度1,
6.插值算法为:
[0007][0008][0009]
表示坐标为(x+δx,y0)的位置,x+δx表示与x坐标为x的已知像素相距为δx的位置,表示在坐标为(x+δx,y0)的位置插入的亚像素的像素值,表示坐标为(x+k,y0)的已知像素的插值系数,为权重函数β5(m(在坐标为(k-δx,y0)的位置的函数值;
[0010]
表示坐标为(x0,y+δy)的位置,y+δy表示与y坐标为y的已知像素相距为δy的位置,表示在坐标为(x0,y+δy)的位置插入的亚像素的像素值,表示坐标为(x0,y+k)的已知像素的插值系数,为权重函数β5(m)在坐标为(x0,k-δx)的位置的函数值;
[0011]
δx∈(0,1),δy∈(0,1),k∈[-2,3]且k为整数;x0、y0分别表示已知像素的x坐标和y坐标;
[0012]
整像素指所述图像的原始像素,亚像素指后期插入的像素,已知像素包括整像素和已插入的亚像素;
[0013]
y坐标为y0时,令m=k-δx,x坐标为x0时,令m=k-δy,所述权重函数β5(m)为:
[0014][0015]
令δx=0、δy=0,将插值系数未知的已知像素的坐标值、像素值代入所述插值算法,计算得出各插值系数未知的已知像素的插值系数;
[0016]
y坐标为y0时,将待插入亚像素位置的x坐标值转换为x+δx,根据所述插值算法计算得出该待插入亚像素的像素值;
[0017]
x坐标为x0时,将待插入亚像素位置的y坐标值转换为y+δy,根据所述插值算法计算得出该待插入亚像素的像素值。
[0018]
本发明的图像亚像素插值方法,首先根据已知像素的像素值及坐标,通过插值算法计算得出已知像素的插值系数,然后再根据待插入亚像素位置的坐标,通过插值算法计算得出待插入亚像素的像素值,计算插值系数及计算亚像素的像素值采用的是同样的插值算法,确保在插值算法的框架下,整像素及插入的亚像素均符合同样的规律。图像中的像素,位置接近的像素,它们的像素数据也可能比较接近,本发明的图像亚像素插值方法,考虑了插值区域正反方向上各3个最近的已知像素的对插值区域的影响,由δx∈(0,1),δy∈(0,1),k∈[-2,3]且k为整数可知,在x轴方向或y轴方向,相邻的两个已知像素之间的区域为插值区域,待插入亚像素的像素值,由正反方向上各3个最近的已知像素的插值系数分别乘以相应的权重累加得到,距离越近的已知像素,影响越大,其权重也越大,符合图像内像素的一般规律。综上,通过本发明的图像亚像素插值方法插入的亚像素能更准确地反映被拍摄物,精度更高。所述插值算法也具有高阶可导性,适用范围更广。
[0019]
2、在技术方案1的基础上,插值系数的计算方法为,
[0020]
沿着x轴方向卷积计算经过快速傅里叶变换,如下:
[0021][0022]
[0023][0024]
为傅里叶变换,ω
x
是当y=y0时沿着x轴方向的频域特性,经过傅里叶变换得到经过傅里叶变换得到经过傅里叶变换得到
[0025]
将时域计算转换为频域计算,做傅里叶变换得到:
[0026][0027]
则得出:
[0028][0029]
再对做傅里叶逆变换即可得出插值系数c(x+
[0030]
沿着y轴方向卷积计算经过快速傅里叶变换,如下:
[0031][0032][0033][0034]
为傅里叶变换,ωy是当x=x0时沿着y轴方向的频域特性,经过傅里叶变换得到经过傅里叶变换得到经过傅里叶变换得到
[0035]
将时域计算转换为频域计算,做傅里叶变换得到:
[0036][0037]
则得出:
[0038][0039]
再对做傅里叶逆变换即可得出插值系数做傅里叶逆变换即可得出插值系数
[0040]
在计算待插入的亚像素的像素值之前,需要先根据已知像素及插值算法计算出插值系数未知的已知像素的插值系数,对每个插值系数未知的已知像素按插值算法列的算式,涉及到包含自身在内的六个已知像素的插值系数,对全部插值系数未知的已知像素按
插值算法列算式后组成方程组才可求解得出各插值系数未知的已知像素的插值系数,如果采用传统方法进行计算,以水平方向n个像素为例,则在水平方向将建立n个方程,其未知数有n个c(x,y),则得到的线性方程组表达式an×nxn×1=bn×1,求解这样的大型矩阵其计算量是非常庞大的。本发明中,根据插值算法具有的卷积特性,因此可以将矩阵的卷积通过快速傅里叶变换,得到频域特性,求解后再由频域转变为时域得到插值系数,如此可极大减少计算量。
[0041]
3、在技术方案1的基础上,y坐标为y0时,如x坐标为x+2、x+3、x-1或x-2的位置无已知像素,则在上述位置填充伪像素作为已知像素;x坐标为x0时,如y坐标为y+2、y+3、y-1或y-2的位置无已知像素,则在上述位置填充伪像素作为已知像素;伪像素指预设像素值的像素。因本发明的图像亚像素插值方法,在计算一个待插入亚像素的像素值时,需要考虑左右各3个已知像素,这样在图像边缘的两个插值区域就无法插入亚像素,为此,如需插入亚像素的位置在图像边缘的两个插值区域内,就在相应位置填充伪像素作为已知像素,以供计算该插值区域内的待插入亚像素的像素值,如此可在图像全域进行插值计算插入亚像素,避免图像边缘部分无法插入亚像素。
[0042]
4、在技术方案3的基础上,伪像素的像素值为与其距离最近的已知像素的像素值。
[0043]
5、计算机可读存储介质,其存储有计算机程序,所述计算机程序被执行时能够实现技术方案1-4任一项所述的图像亚像素插值方法。
[0044]
6、图像亚像素插值装置,包括计算机可读存储介质和处理器,所述计算机可读存储介质为技术方案5所述的计算机可读存储介质,处理器可执行其中存储的计算机程序。
附图说明
[0045]
图1为图像整像素的排布示意图。
[0046]
图2为使用本发明的图像亚像素插值方法第一次插入亚像素过程中整像素、伪像素、待插入亚像素位置排布示意图。
[0047]
图3为使用本发明的图像亚像素插值方法第二次插入亚像素过程中整像素、亚像素、伪像素、待插入亚像素位置排布示意图。
[0048]
图4为使用本发明的图像亚像素插值方法完成两次亚像素插入后的整像素及亚像素排布示意图。
[0049]
图5为本发明的图像亚像素插值方法沿x轴方向插入亚像素的示意图。
[0050]
图6为本发明的图像亚像素插值方法从x轴方向得到的6个y轴方向待插入亚像素位置的示意图。
[0051]
图7为本发明的图像亚像素插值方法沿y轴方向插入亚像素的示意图。
具体实施方式
[0052]
以下结合具体实施例对本发明创造作详细说明。
[0053]
术语说明
[0054]
像素值:指图像数字化时被计算机赋予的值,例如在rgb模式下的r值、g值、b值。
[0055]
插值区域:在x轴方向或y轴方向,相邻的两个已知像素之间的区域为插值区域,例如图2中的区域a、b、c,图3中的区域d,图中线段表示区域。
[0056]
整像素:指图像的原始像素。
[0057]
亚像素:指后期插入的像素。
[0058]
已知像素:像素值已知的像素,包括整像素和已插入的亚像素。
[0059]
伪像素:指预设像素值的像素,其既不是整像素,也不是通过插值算法计算得出像素值的像素。
[0060]
图1所示为待处理图像的整像素排布,沿两个相互正交的方向排列,在待处理图像的平面内定义平面直角坐标系,x轴与所述图像的整像素的一个排列方向平行,y轴与所述图像的整像素的另一个排列方向平行,以在坐标轴方向上排列的相邻的两个整像素之间的间距为单位长度1,本实施例中,以图像左下角的整像素的位置为坐标原点。
[0061]
本实施例的图像亚像素插值方法中的插值算法为:
[0062][0063][0064]
式中,表示坐标为(x+δx,y0)的位置,x+δx表示与x坐标为x的已知像素相距为δx的位置,表示在坐标为(x+δx,y0)的位置插入的亚像素的像素值,表示坐标为(x+k,y0)的已知像素的插值系数,为权重函数β5(m)在坐标为(k-δx,y0)的位置的函数值;表示坐标为(x0,y+δy)的位置,y+δy表示与y坐标为y的已知像素相距为δy的位置,表示在坐标为(x0,y+δy)的位置插入的亚像素的像素值,表示坐标为(x0,y+k)的已知像素的插值系数,为权重函数β5(m)在坐标为(x0,k-δx)的位置的函数值。
[0065]
其中,δx∈(0,1),δy∈(0,1),k∈[-2,3]且k为整数。x0、y0分别表示已知像素的x坐标和y坐标。
[0066]
y坐标为y0时,令m=k-δx,x坐标为x0时,令m=k-δy,所述权重函数β5(m)为:
[0067][0068]
权重函数是一个钟形曲线波形的函数,在任何位置其函数波形是相同的,与待插入亚像素的位置距离越远的已知像素对其影响越小,与待插入亚像素的位置距离越近的已知像素对其影响越大。且权重函数与x、y无关,仅与δx、δy有关,也就是说,在不同的位置插入亚像素,其正反方向上各3个已知像素对其的影响仅取决于δx或δy。
[0069]
如需在图像任意位置插入亚像素,需经过两次插入操作,第一次插入操作是在与整像素x轴方向及y轴方向上插入亚像素,如图2所示。第二次插入操作是在与已插入亚像素x轴方向及y轴方向上插入亚像素,如图3所示。经过这两次插入,则可在任意位置插入亚像素,如图4所示。本实施例中,为了便于说明,以每个插值区域插入2个亚像素为例,实际操作中,每个插值区域可插入任意数量的亚像素,根据需要选择。第二次插入操作按需进行。
[0070]
本实施例中,结合图2,第一次插入亚像素时,已知像素为整像素,x+δx中x为整数,δx为同理,y+δy中y为整数,δy为结合图3,第二次插入亚像素时,x+δx中x为整数加或δx为同理,y+δy中y为整数加或δy为
[0071]
先求解各已知像素的插值系数。令δx=0、δy=0,将插值系数未知的已知像素的坐标值、像素值代入所述插值算法,计算得出各插值系数未知的已知像素的插值系数。
[0072]
然后计算待插入亚像素的像素值,沿x轴方向和y轴方向分别计算。沿x轴方向,即y坐标为y0时,将待插入亚像素位置的x坐标值转换为x+δx,根据所述插值算法计算得出该待插入亚像素的像素值。沿y轴方向,即x坐标为x0时,将待插入亚像素位置的y坐标值转换为y+δy,根据所述插值算法计算得出该待插入亚像素的像素值。
[0073]
每次插入亚像素操作均包括上述求解插值系数及计算亚像素像素值两个步骤。
[0074]
结合图2,进行第一次插入亚像素操作,先求解插值系数未知的已知像素的插值系数,此时的已知像素均为整像素,令δx=0、δy=0,将整像素的坐标值、像素值代入所述插值算法,计算得出各整像素的插值系数,然后分别沿着x轴方向和y轴方向计算待插入的亚像素的像素值。具体地,沿着x轴方向,即y坐标为y0,沿着x轴方向排列的整像素有多行,第一行整像素的y坐标为0,此时y0=0,将待插入亚像素位置的x坐标值转换为x+δx,即(左起第三个插值区域的两个待插入亚像素位置的x坐标);(左起第三个插值区域的两个待插入亚像素位置的x坐标);(左起第四个插值区域的两个待插入亚像素位置的x坐标)
······
,将这些待插入亚像素
位置的坐标代入上述插值算法,即可计算得出各个待插入亚像素位置的像素值,然后y0分别等于1、2、3
······
,分别重复以上操作。沿着y轴方向也是相同的做法。沿着x轴方向和y轴方向均完成亚像素插入操作后,第一次插入亚像素的操作即完成。
[0075]
结合图3,进行第二次插入亚像素操作,先求解插值系数未知的已知像素的插值系数,此时的已知像素包括整像素和第一次插入的亚像素,由于第一次插入亚像素时已求解了整像素的插值系数,因此不必再求解整像素的插值系数,此外,第二次插入亚像素过程中实际上与不会用到整像素的插值系数。本次求解第一次插入的亚像素的插值系数,令δx=0、δy=0,将第一次插入的亚像素的坐标值、像素值代入所述插值算法,计算得出第一次插入的亚像素的插值系数,然后分别沿着x轴方向和y轴方向计算待插入的亚像素的像素值。具体地,沿着x轴方向,即y坐标为y0,第一行第一次插入的亚像素的y坐标为此时将待插入亚像素位置的x坐标值转换为x+δx,即(左起第三个插值区域的两个待插入亚像素位置的x坐标);个待插入亚像素位置的x坐标);(左起第四个插值区域的两个待插入亚像素位置的x坐标)
······
,将这些待插入亚像素位置的坐标代入上述插值算法,即可计算得出各个待插入亚像素位置的像素值,然后y0分别等于
······
分别重复以上操作。沿着y轴方向也是相同的做法。沿着x轴方向和y轴方向均完成亚像素插入操作后,第二次插入亚像素的操作即完成。
[0076]
无论是第一次插入亚像素还是第二次插入亚像素,图像边缘的两个插值区域(图2中的区域b、c,图3中的区域d),正方向或反方向上的已知像素不足3个,即:y坐标为y0时,x坐标为x+2、x+3、x-1或x-2的位置无已知像素,x坐标为x0时,y坐标为y+2、y+3、y-1或y-2的位置无已知像素。因此,无法在图像边缘的两个插值区域插入亚像素,为了在这些区域也插入亚像素,y坐标为y0时,如x坐标为x+2、x+3、x-1或x-2的位置无已知像素,则在上述位置填充伪像素作为已知像素;x坐标为x0时,如y坐标为y+2、y+3、y-1或y-2的位置无已知像素,则在上述位置填充伪像素作为已知像素,如此即可在图像边缘的两个插值区域也可以插入亚像素,也就是可在图像全域进行插值计算插入亚像素,避免图像边缘部分无法插入亚像素。填充伪像素是在计算插值系数之前,这样才可以计算图像边缘的两个已知像素的插值系数。
[0077]
本实施例中,计算求解插值系数的方法为:
[0078]
沿着x轴方向卷积计算经过快速傅里叶变换,如下:
[0079][0080][0081][0082]
为傅里叶变换,ω
x
是当y=y0时沿着x轴方向的频域特性,
经过傅里叶变换得到经过傅里叶变换得到经过傅里叶变换得到
[0083]
将时域计算转换为频域计算,做傅里叶变换得到:
[0084][0085]
则得出:
[0086][0087]
再对做傅里叶逆变换即可得出插值系数做傅里叶逆变换即可得出插值系数
[0088]
沿着y轴方向卷积计算经过快速傅里叶变换,如下:
[0089][0090][0091][0092]
为傅里叶变换,ωy是当x=x0时沿着y轴方向的频域特性,经过傅里叶变换得到经过傅里叶变换得到经过傅里叶变换得到
[0093]
将时域计算转换为频域计算,做傅里叶变换得到:
[0094][0095]
则得出:
[0096][0097]
再对做傅里叶逆变换即可得出插值系数做傅里叶逆变换即可得出插值系数
[0098]
根据插值算法具有的卷积特性,因此可以将矩阵的卷积通过快速傅里叶变换,得到频域特性,求解后再由频域转变为时域得到插值系数,如此可大大减少计算量。具体说明如下:
[0099]
将连续方程离散化,令其中m=0,1,2,

,m-1,则
[0100][0101]gm
是的一个周期的离散化,令该项具有对称性周期性可约性
[0102][0103]
其中
[0104][0105][0106]
上式中,只需要计算k=0,1,2,

,m/2-1个,即前一半的数据结果即可。后一半根据周期性所以所以同理同理依此类推,可以进一步把m/2的数据看作是奇数和偶数部分,同样地分为两部分,只需要计算前一半的数据。由此极大地减少计算量。
[0107]
以下为具体演算,结合图5-图7:
[0108]
当-3≤m≤-2时:
[0109][0110]
当产生亚像素偏移后,即-3≤-2+δm≤-2时,其中δm表示亚像素偏移值
[0111][0112]
当-2≤m≤-1时:
[0113][0114]
当-1≤m≤0时:
[0115][0116]
当0≤m≤1时:
[0117][0118]
当1≤m≤2时:
[0119][0120]
当2≤m≤3时:
[0121][0122]
g(xf+δx,ys)=[c
f-2,s c
f-1,s c
f,s c
f+1,s c
f+2,s c
f+3,s
]mδp
[0123]
其中
[0124][0125][0126]
则g(xf+δm,ys)=[c
f-2,s c
f-1,s c
f,s c
f+1,s c
f+2,s c
f+3,s
]mδp
[0127]
下标“f”、“s”分别表示像素x轴方向、y轴方向位置。
[0128]
计算得到沿x轴方向的亚像素偏移量δm。
[0129]
将图像沿着y轴方向依次移动一个像素,按照上述过程进行计算,得到p1,g(xf+δx,y
s+1
)=[c
f-2,s+1 c
f-1,s+1 c
f,s c
f+1,s+1 c
f+2,s+1 c
f+3,s+1
]mδp
[0130]
依此类推,得到p-2
、p-1
、p2和p3,如图5及图6所示。
[0131]
g(xf+δx,y
s-2
)=[c
f-2,s-2 c
f-1,s-2 c
f,s-2 c
f+1,s-2 c
f+2,s-2 c
f+3,s-2
]mδp
[0132]
g(xf+δx,y
s-1
)=[c
f-2,s-1 c
f-1,s-1 c
f,s-1 c
f+1,s-1 c
f+2,s-1 c
f+3,s-1
]mδp
[0133]
g(xf+δx,y
s+2
)=[c
f-2,s+2 c
f-1,s+2 c
f,s+2 c
f+1,s+2 c
f+2,s+2 c
f+3,s+2
]mδp
[0134]
g(xf+δx,y
s+3
)=[c
f-2,s+3 c
f-1,s+3 c
f,s+3 c
f+1,s+3 c
f+2,s+3 c
f+3,s+3
]mδp
[0135]
如图7所以,然后再以y轴方向进行相同的运算,具体包括:将插值算法与计算出的点p-2
、p-1
、p0、p1、p2和p3进行插值运算,首先根据傅里叶变换计算系数[c]
f,s
,然后再通过插值算法得到
[0136]
g(xf+δm,ys+δn)=δq
tmt
[c]
f,s
mδp
[0137]
δq=[1 δn δn
2 δn
3 δn
4 δn5]
t
[0138]
其中δn表示沿着y方向的亚像素偏移值,f表示x方向的像素点位置,s表示y方向的像素点位置。
[0139][0140]
至此,求得任意整像素位置(xf,ys),在偏移量为(δm,δn)下的插值点像素值。
[0141]
最后应当说明的是,以上实施例仅用以说明本发明创造的技术方案,而非对本发明创造保护范围的限制,尽管参照较佳实施例对本发明创造作了详细地说明,本领域的普通技术人员应当理解,可以对本发明创造的技术方案进行修改或者等同替换,而不脱离本发明创造技术方案的实质和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1