发明名称 用于图像放大处理过程中的快速双线性插值方法
摘要 本发明公开了一种用于图像放大处理过程中的快速双线性插值方法,先在原图像上的坐标系中直接进行插值操作,再从原图像到目标图像进行映射,使得图像放大处理过程中的遍历操作减少,边界像素也可以在统一的程序框架中处理;在行方向和列方向上分别进行插值,去除了冗余的插值计算;插值运算全部采用整数加减法和整数移位运算,这几个方面使得用双线性插值进行图像放大的速度得到了提高,采用本发明的快速插值方法进行图像放大,在图像放大倍数为2~10倍时,算法的运算速度提高了4~10倍,且算法的加速比随着放大倍数的增加而增加。
申请公布号 CN100373912C 申请公布日期 2008.03.05
申请号 CN200610052383.2 申请日期 2006.07.10
申请人 宁波大学 发明人 李均利;魏平;陈刚
分类号 H04N1/393(2006.01) 主分类号 H04N1/393(2006.01)
代理机构 宁波海曙奥圣专利代理事务所 代理人 程晓明
主权项 1.一种用于图像放大处理过程中的快速双线性插值方法,其特征在于对于大小为m×n的原图像和大小为M×N的目标图像,定义原图像和目标图像都以左上角像素作为坐标原点,右方向为x正方向,向下方向为y正方向,原图像坐标系中点的坐标为(x,y),目标图像像素坐标为(x′,y′),定义两个数组,Pre_Row和Cur_Row,临时存储原图像A行方向上插值得到的数据,Cur_Row存储当前行插值得到的数据,Pre_Row存储前面一行插值得到的数据,然后采用以下步骤获得目标图像像素点的灰度值:1)准备在原图像的列方向x坐标方向和行方向y坐标方向上分别以步长stepx,stepy进行插值,stepx=(n-1)/(N-1);stepy=(m-1)/(M-1),用j表示原图像的行编号,j为0到M-1之间的正整数;2)在原图像的行方向上进行插值,得到在原图像坐标系中x=i′×stepx,y=j的点的灰度值A(i′×stepx,j),i′为0到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到N-1之间的正整数;5)将Cur_Row数组的值赋给Pre_Row数组,即:Pre_Row[i′]=Cur_Row[i′],i′为0到N-1之间的正整数,转到7);6)令原图像当前的行编号为j,以Pre_Row[i′],Cur_Row[i′]作为[0,1]区间的两个端点的像素值,即f(0)=Pre_Row[i′],f(1)=Cur_Row[i′],用整数移位运算和整数加减法进行线性插值,得到目标图像B在x′=i′,y′=k的像素灰度值<math><mrow><mi>B</mi><mrow><mo>(</mo><msup><mi>i</mi><mo>&prime;</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>&times;</mo><mi>stepy</mi><mo>-</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo></mrow></math>其中k×stepy-j+1为[0,1]区间的一个实数,用整数移位运算和整数加减法进行线性插值的具体步骤为:对于[0,1]区间的任何一个实数x,定义p为不大于x×8+0.5的最大整数,如果p为0,则<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>;</mo></mrow></math> 如果p为1,则<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mo>></mo><mo>></mo><mn>3</mn><mo>;</mo></mrow></math>如果p为2,则<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mo>></mo><mo>></mo><mn>2</mn><mo>;</mo></mrow></math>如果p为3,则<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>+</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>1</mn><mo>)</mo><mo>-</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mtext></mtext><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow><mtext></mtext></mrow></math>如果p为4,则<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>+</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>1</mn><mo>;</mo></mrow></math>如果p为5,<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>+</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>3</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>如果p为6,<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>2</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>如果p为7,<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><mo>(</mo><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>></mo><mo>></mo><mn>3</mn></mrow><mo>;</mo></mrow></math> 如果p为8,<math><mrow><mover><mi>f</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>其中>>为右移位运算,转到5);7)判断下一图像的行数,如果j≤m-1,转到2),否则结束处理过程。
地址 315211浙江省宁波市江北区风华路818号