主权项 |
1、一种用于图像放大处理过程中的快速双线性插值方法,其特征在于对于大小为m×n的原图像和大小为M×N的目标图像,定义原图像和目标图像都以左上角像素作为坐标原点,右方向为x正方向,向下方向为y正方向,原图像坐标系中点的坐标为(x,y),目标图像像素坐标为(x′,y′),然后采用以下步骤获得目标图像像素点的灰度值:1)准备在原图像的列方向(x坐标方向)和行方向(y坐标方向)上分别以步长stepx,stepy进行插值,stepx=(n-1)/(N-1);stepy=(m-1)/(M-1),用j表示原图像的行编号,取j=0;2)在原图像的行方向上进行插值,得到在原图像坐标系中坐标为(i′×stepx,j)的点的灰度值A(i′×stepx,j),i′=0,1,…,N-1为放大图像的列编号,将得到的插值结果存到数组Cur_Row中,即Cur_Row[i′]=A(i′×stepx,j);3)判断原图像的行数,如果是第0行,即j=0,继续下一步,如果j≠0,转到6);4)将数组Cur_Row中的值赋给目标图像的第0行,即令B(i′,0)=Cur_Row[i′],i′=0,1,…,N-1;5)将Cur_Row数组的值赋给Pre_Row数组,即:Pre_Row[i′]=Cur_Row[i′],i′=0,1,…,N-1;6)令原图像当前的行编号为j,以Pre_Row[i′],Cur_Row[i′]作为[0,1]区间的两个端点的像素值,即f(0)=Pre_Row[i′],f(1)=Cur_Row[i′],用整数移位运算和整数加减法进行线性插值,得到目标图像B在第i′行,k列的像素灰度值<math> <mrow> <mi>B</mi> <mrow> <mo>(</mo> <msup> <mi>i</mi> <mo>′</mo> </msup> <mo>,</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mover> <mi>f</mi> <mo>~</mo> </mover> <mrow> <mo>(</mo> <mi>k</mi> <mo>×</mo> <mi>stepy</mi> <mo>-</mo> <mi>j</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math> 7)判断下一图像的行数,j=j+1,如果j≤n-1,转到2),否则结束处理过程。 |