光学扫描器的扫描光迹歪斜自动校正方法与装置
技术领域
本发明为一种扫描图像的校正方法与装置,尤指一种应用在光学扫描器上,因光机问题而造成扫描光迹歪斜,而使用的自动校正方法与装置。
背景技术
目前光学扫描器的光机是统使用调整治具,调整水平左右及镜片焦距后,组装于机体中,一般在扫描文件时均有一测试图(calibration paper)作为电荷藕合感应器(CCD))感测照明的校正。但由于光机系统在组装于机体时,可能产生误差或因扫描器的使用时间过久,或因运送的途中震动太大而使光迹偏移,结果造成扫描的图像偏斜或失真,如图1所示。图1显示一扫描图像的放大示意图。正常的扫描文件应是正的,以A(i,j)表示。而歪斜的扫描图像前缘,则以黑色的歪斜线表示,其面积以As(i,j)表示。
遇此偏斜或失真的现象发生时,即使重新调整,也难有成效。因为每台的状况不同,无法统一处理,即使送到客户服务处维修,也难以完全改善。
发明内容
本发明的主要目的是提出一种智能型的扫描装置,其具有自动校正装置,可在图像歪斜时自动校正歪斜的图像,而有效解决扫描器因光机系统的问题而造成图像的偏移或失真。
本发明的另一目的是提出一种能立即自动校正歪斜的扫描图像的方法与装置,以提高扫描的品质并减少维修的人力与费用。
本发明的扫描光迹歪斜自动校正方法是这样实现的:一种光学扫描器的扫描光迹歪斜自动校正方法,是在判定所扫描的图像为歪斜时,自动执行图像的校正,并输出校正后的图像,其特征在于:其包含步骤:
a.执行座标指数,区段数,宽度的初始化;
b.读取歪斜的扫描图像座标As(Xi,Yj)的图素;
c.执行该歪斜的扫描图像座标As(Xi,Yj)的图素的歪斜率计算;
d.判定该图素的歪斜率除以一个图素的边长的余数是否小于二分之一个图素的边长;
e.当判定该图素的歪斜率除以一个图素的边长的余数小于二分之一个图素的边长时,执行第一校正面积计算,该面积计算公式为:[As(i,j)*(b2-a1-a4)/b2]+[As(i,j-1)*(a2/b2)]+[As(i+1,j)*(a3/b2)],其中As(i,j)表示歪斜的图像的座标,b表示图素的边长,a1表示该图素左边的校正面积,a2表示图素上方的校正面积,a3表示该图素右方的校正面积,a4表示该图素下方的校正面积;
f.当判定该图素的歪斜率除以一个图素的边长的余数大于二分一个图素的边长时,执行第二校正面积计算,该面积的计算公式为:[As(i,j)*(a4/b2)]+[As(i,j+1)*(a3/b2)]十[A(i,j-1)*(a2/b2)],其中As(i,j)表示歪斜的图像的座标,b表示图素的边长,a3表示该图素右边的校正面积,a2表示图素上方的校正面积,a4表示该图素下方的校正面积;并将区段数增加一;
g.依据该图素的区段储存该校正的图素;
j.将横座标指数增加一,及纵座标指数增加一;执行步骤(b);及
k.当判定完成一整列的图素的校正时,依据该图素的区段读取该校正的图
素。
更包含步骤:j.区分存储装置为若干个固定的区块。
其中上述的步骤(c)的歪斜率的计算公式为:h=1tanα,其中,1表示图素i的边长,α表示图素i的面积。
更包含步骤:k.判定横座标指数是否等于上述的扫描图像的宽度。
一种光学扫描器的扫描光迹歪斜自动校正装置,是在读取扫描的图像时,自动判定所扫描的图像是否为歪斜,并在判定为歪斜时执行图像的校正,并输出校正后的图像,其特征在于:其包含:
校准装置,用以输出判断图素的歪斜率的参考座标;
歪斜率计算模组,用以输入一歪斜的图素数据并依据该校准装置的输出,输出该图素的歪斜率;
校正模组,用以读取该歪斜的图素数据,并依据该校准装置的输出执行该图素的校正,该校正模组为依据第一校正面积计算及第二校正面积计算执行上述的图素的校正,第一校正面积计算为:[As(i,j)*(b2-a1-a4)/b2]+[As(i,j-1)*(a2/b2)]+[As(i+1,j)*(a3/b2)]其中As(i,j)表示歪斜的图像的座标,b表示图素的边长,a1表示该图素左边的校正面积,a2表示图素上方的校正面积,a3表示该图素右方的校正面积,a4表示该图素下方的校正面积;
第二校正面积计算为:[As(i,j)*(a4/b2)]+[As(i,j+1)*(a3/b2)]十[A(i,j-1)*(a2/b2)],其中As(i,j)表示歪斜的图像的座标,b表示图素的边长,a3表示该图素右边的校正面积,a2表示图素上方的校正面积,a4表示该图素下方的校正面积;
存储装置,用以依序储存该校正的图素;以及输出装置,用以在完成一整列的图素的校正后,依序输出该校正的图素。
其中上述的存储装置包含:若干个区块,用以储存不同区段的图素。
本发明是一种图像自动校正方法与装置,其可自动校正因光机问题所造成的歪斜图像。该校正方法与装置先在存储器中划分许多区段,以便依序储存不同区段的校正图素。图素的校正是依照图素的歪斜程度作判断,当图素的歪斜率大于一个图素的边长时,表示另一区段的开始。每一列的图素可依此分成许多区段。图素的校正是依照歪斜的面积比例计算后成为校正的面积。每当完成一列的图素的校正后,便由存储器中依序输出校正的图素,依此方法反复执行,以完成整张图像的校正。
附图说明
图1为图像在扫描前出现歪斜的情形的放大示意图;
图2为本发明在处理歪斜的情形的方法示意图;
图3为本发明的自动校正方法的示意图;
图4为本发明的自动校正方法的流程图;
图5为本发明的自动校正装置。
具体实施方式
为解决上述的问题,本发明提供一种智能型的图像自动校正方法与装置,其主要原理为依据图像歪斜的程度而将歪斜的图像以横向区分为若干个区段,并在存储器中记录每一区段的起始及结束的图素座标。在一存储器中规划为若干个区块,用以记录所区分的各区段的图像数据及位置。然后依据一参考点作为图素的歪斜率判断,当歪斜率超出一设定值后,便以该图素作为另一区段的起始图素,依此类推,直至完成一列中所有的图像区段。在每一区段的图像数据中,依据每个图素的歪斜程度作面积的计算,计算完后便将校正的图像储存在存储器中该区段所属的位置。当完成一列的图像校正后,便依照存储器中的区段顺序,依序输出所储存的图像校正数据
以图2作说明,若正常的扫描图像为A(i,j),歪斜的扫描图像为As(i,j)。基本上,校正后的图素Al(i,j)应为As(i:j)=A(i,j),或As(i,j)=A(i,j)。由于图像歪斜的程度太大时,必然使图像的歪斜超出一个或一个以上的图素,为方便执行图像校正的计算,须将一列中的图素分段处理。当相邻的图素A(i,J)与A(i+1,j)的歪斜度超出一个图素时,便将该图素当作另一区段的开始,如此完成一整列的分段。依此分段方式,A(i,j)便可分为5个区段:
分别为i=1~6,7~18,19~30,31~42,43~50。校正后的图像将由第5列开始输出,这是取歪斜度j由1~8的平均值,即j=5。
在执行本发明的方法前,须先执行前置的准备,包括将存储器划分为若干个区块,以将图像数据依序排列在存储器中所划分的区段。而且,在测试图的两侧须设定两个明显的参考点,以作为歪斜率的比较参考。
本发明的校正方法,可以图3为例说明之。图3显示图2的第一区段放大后的第一列图像。图3中的虚线表示正常的图素座标排列;而歪斜的图素则向右倾斜,以实线表示。斜线部份表示须校正的面积。本发明的校正方法为针对图素逐一进行,其校正原则是与正常的图素座标作比较,留取最大的重叠部份作基底,再将四边校正的面积加入该基底,其总合便为校正后的图素。以As(2,3)的图素为例,其基底为As(2,3)中间的区块,而四边校正的面积a1,a2,a3,a4分别以斜线标示。在As(i,j)的斜率小于一个图素的边长时,校正后的图素面积应等于基底以及其四周的校正部份的总合。以Al(i,J))表示校正后的图素,其面积的校正计算为As(i,j)乘以在A(i,j)中所占的面积比例,加上As(i,j)在A(1,j)相临的图素的面积比例,如下所示:(b表示图素的边长)
AI(i,j)=[As(i,j)*((b2-a1-a4)/b2)]+
[As(i,j-1)*(a2/b2)]+
[As(i+1,j)*(a3/b2)]................(a)
如图3所示,校正后的图素位置应为A1(i,j)。而歪斜的图素As(i,j)在AI(i,j)的部份,除了中间的基底外,上方的a2应与下方的a4对称,所以在校正后,校正后的图素应为基底与四边歪斜部份相加的总面积。
而当h除以一个图素的边长的余数大于1/2个图素的高度时,如As(7,2)的图素。由于As(7,2)舆A(7,2)重叠的部份不多,反而是与A(7,3)的重叠部份较多,因此A(7,3)对As(7,2)的比重加大。其面积的计算便为:AI(i,j+1)=[As(i,j)*(a4/b2)]+[As(i,j+1)*(a3/b2)]+[A(i,j+1)*(a2/b2)].........(b)
此表示As(i,j)的面积比例将随其歪斜程度而做不同比例的面积计算。而当h除以一个图素的边长的余数小于二分之一个图素的高度时,表示整个图素的数据仍在同一列,所以执行同(a)的面积计算。如果h除以一个图素的边长的余数大于一个以上的图素高度时,表示整个图素的数据移到下一列,所以将j再加1,以执行同(b)的面积计算。
如此反复直到完成所有图素的面积比例计算与校正。而且每校正完一图素,便将该图素的数据依序储存在存储装置该图素所属的区段中。当完成一整列的板正后,便依续将图素输出。
本发明的校正步骤如图4所示:401:在存储装置中区分若干个区块;402:初始化座标指数,使i=1;j=1;区段n=1;b=图素的边长;a1=图素左方的校正面积;a2=图素上方的校正面积;a3=图素右方的校正面积;a4=图素下方的校正面积;A(i,j)表示正常图素的座标位置;As(i,j)表示歪斜的图素的座标位置;403:读取扫描的图像的图素座标As(i,j);404:依据测试图的参考点座标,计算图素As(i,j)的歪斜度h,其计算公式为h=1tanα,1=ib,其中1表示图素i的边长,α表示图素i的面积;405:判定As(i,j)的歪斜度h除以一个图素的边长的余数是否小于1/2个图素的边长,如果是,执行步骤406:否则执行步骤407;406:执行公式(A)的计算,其计算方式为:AI(i,j)=[As(i,j)*((b2-a1-a4)/b2)]+[As(i,j-1)*(a2b2)]+[As(i+1,j)*(a3/b2)];计算完后,执行步骤410;407:执行公式(B)的校正面积计算:其计算方式如下:AI(i,j+1)=[As(i,j)*(a4/b2)]+[As(i,j+1)*(a3/b2)]+[A(i,j+1)*(a2/b2)]408:由于此表示另一区段的开始,所以将n增加1;执行步骤411;409:储存该校正后的图素数据在存储装置的n区段中;并执行步骤411;410:判断横座标指数i是否等于图像的宽度K;如果是,执行步骤412;否则,执行步骤409;411:将横座标指数i增加1,及纵座标指数j增加1,表示图素移到下一列;并执行步骤403;412:依序读取存储装置中所储存的图像数据;当完成该列所有图素的校正后,依序由存储器中读取该图素,而形成校正后的图像。
依据上述的方法,本发明的装置如图5所示。校准装置501为一测试图,其具有明显的参考点,可用以提供判断图素的歪斜率的参考。斜率计算模组502用以输入一歪斜的图素数据506,并依据该校准装置501的参考座标,输出该图素的歪斜率。校正模组504读取歪斜率计算模组所输出的歪斜率,及歪斜的图素数据506,并依据该歪斜率执行该图素的校正。校正后的图素数据输出至存储装置503。存储装置503中区分为许多个区段,可依序储存校正的图素。当完成一整列的图素的校正后,输出装置505便依序由存储装置503中读取校正的图素,然后输出为一校正后的图像数据。