图像处理装置、电子介质和图像处理方法

文档序号:6580233阅读:128来源:国知局
专利名称:图像处理装置、电子介质和图像处理方法
技术领域
本申请涉及用于在例如每个方向上计算处理目标图像中的图形的最小外接矩形 的一种图像处理装置、一种电子介质和一种图像处理方法。
背景技术
在对于由例如照相机拍摄的图像中的数字标签上所印刷的字符的识别中,数字标 签上的字符行(character line)并不总是在水平方向上对齐的。 如果发生了不对齐的情况,则数字标签的字符部分就无法与字典数据相匹配来实 现字符识别,因此通常必须执行处理来裁剪出数字标签的字符部分的图像并估计字符的方 向。 例如,从该图像中提取出字符行,并将该线的长度在其上最长的方向假定为是该 线的所估计方向。 可以通过在字符部分图像的每个方向上使用最小外接矩形来估计在每个方向上 的字符行的候选。 作为最小外接矩形的一种计算方法,以下所述的方法是广泛已知的。
例如,针对图形上的每个像素或者图形轮廓上的每一个点来计算X坐标和Y坐标 的最大值和最小值,并将他们作为上下左右端的坐标,从而计算出该图形的最小外接矩形。
注意,会将水平方向描述为X轴方向,将垂直方向描述为Y轴方向,将X轴方向上 的坐标描述为X坐标,将Y轴方向上的坐标描述为Y坐标(以下将会使用这些表述)。
另一种广泛已知的用于计算最小外接矩形的方法是在X轴方向上和Y轴方向上计 算目标图像或者目标图像的二值化结果的积分,并且计算在其上的积分大于或等于预定阈 值的最小坐标和最大坐标。 此外,作为用于在每个方向上计算最小外接矩形的方法,以上所述的方法存在几 种变体。 在这种方法的第一示例中,将图形上的每个像素的坐标转换为这种坐标系中的坐
标即在该坐标系的其中一个轴平行于感兴趣的方向,然后,通过计算以上变换得到的坐标
的最大值和最小值来确定最小外接矩形。(以下将该方法指示为"方法A")。 在这种方法的第二示例中,提取出图形的轮廓点,并将在感兴趣方向上的最小外
接矩形计算为对于每个轮廓点由为方法A描述的变换所变换得到的坐标的最大值和最小
值(以下将该方法指示为"方法B")。 在这种方法的第三示例中,在感兴趣方向上和垂直于感兴趣方向的方向上对待处 理的图形或者通过对待处理的图像进行二值化得到的图像进行积分,并且通过获得其积分
4值大于或等于阈值的坐标中的最大值和最小值来获得上下端和左右端的坐标(以下将该 方法指示为"方法C")。 在这种方法的第四示例中,对图像进行旋转,从而使得在感兴趣方向上的直线是 待处理的图像上的水平方向或垂直方向,并且在旋转后的图像上计算最小外接矩形(以下 将该方法指示为"方法D")。 此外,一种用于计算图形在每个方向上的投影的典型方法是,对于图形上的每一 个像素,将感兴趣像素的坐标投影到在感兴趣方向上的坐标轴上,并计算所投影的坐标的 直方图。 作为用于估计字符行的方向的方法,已知一种方法,该方法计算图像在每个方向 上的投影,并将所计算的投影变化最剧烈的方向假定为是字符行的方向(例如,参见JP-A 57-052971 (公开))

发明内容
在任何上述方法中,计算复杂度与方向的数量成正比。例如,当使用方法B时,坐 标转换的数量是方向的数量与轮廓点的数量的乘积。 例如,如果使用所计算的最小外接矩形来进行文档图像的方向估计,则必须增加 在其中计算最小外接矩形的方向的数量,以便提高估计精度,但是计算复杂度随着方向的 数量而增加。因此,在一些具有有限计算资源的情况下,在实时系统中,估计精度受到了计 算复杂度的限制。 本发明就是要解决这种问题,并且本发明的目的是提供一种图像处理装置、一种 电子介质以及一种图像处理方法,其能够抑制由于计算在多个方向上的最小包围矩形时的 方向数量的增加而造成的计算复杂度的增加。 根据本发明的一个实施例的一种图像处理装置,包括存储单元,其存储待处理的 图像;切线计算单元,其从读取自所述存储单元的图像中提取轮廓,并针对所述提取的轮廓 计算切线,其中所述轮廓是被表示为轮廓点组的弯曲线;投影单元,其将由所述切线计算单 元计算的每个切线投影到与该切线正交的轴上,并计算该切线与该轴的交点的坐标;以及
矩形计算单元,其选择由所述投影单元为所述轴的每个方向所计算的、具有坐标的最大值 和最小值的交点,并计算由穿过针对第一轴所选择的具有最大值和最小值的两个交点的一 对平行切线以及穿过针对正交于所述第一轴的第二轴所选择的具有最大值和最小值的两 个交点的另一对平行切线所形成的矩形。 根据本发明的一个实施例的一种电子介质是被配置为存储用于在图像处理装置 中执行图像处理的图像处理程序的电子介质,所述图像处理程序提供了所述图像处理装置 的多个功能,所述多个功能包括从存储单元中读出图像,从所述读出的图像中提取出被表 示为轮廓点组的轮廓,并计算所述提取的轮廓的切线;将每个所计算的切线投影到与该切 线正交的轴上,并计算该切线与该轴的交点的坐标;并且选择由所述投影单元为所述轴的 每个方向所计算的、选择具有坐标的最大值和最小值的交点,并计算由穿过针对第一轴所 选择的具有最大值和最小值的两个交点的一对平行切线以及穿过针对正交于所述第一轴 的第二轴所选择的具有最大值和最小值的两个交点的另一对平行切线所形成的矩形。
根据本发明的一个实施例的一种图像处理方法是在图像处理装置中的图像处理方法,所述图像处理装置具有用于存储处理目标图像的存储单元,所述图像处理方法包括 以下步骤从读取自所述存储单元的图像中提取出轮廓,并针对所述提取的轮廓计算切线, 其中,所述轮廓是被表示为轮廓点组的弯曲线;将每个所计算的切线投影到与该切线正交 的轴上,并计算该切线与该轴的交点的坐标;并且在由所述投影单元为所述轴的每个方向 计算的交点之中选择具有坐标的最大值和最小值的交点,并计算由穿过针对第一轴所选择 的具有最大值和最小值的两个交点的一对平行切线以及穿过针对正交于所述第一轴的第 二轴所选择的具有最大值和最小值的两个交点的另一对平行切线所形成的矩形。


图1是示出了根据本发明的第一实施例的图像处理装置的结构的图示。 图2是示出了作为处理目标的图像的一个示例的图示。 图3是示出待处理的图形的示例的图示。 图4是示出从处理目标图形中提取的轮廓的图示。 图5是示出用于存储轮廓点信息的表格的图示。 图6是示出从轮廓点绘制的切线的示例的图示。 图7是示出用于选择从轮廓点投影到轴上的交点的坐标的最大值和最小值的示 例的图。 图8是示出对于特定轴的轮廓的最小外接矩形的图示。 图9是示出待处理的图形的枚举的多个轮廓点的示例的图示。 图10是示出轮廓的切线方向范围的计算概述的图示。 图11是示出第二实施例的图像处理装置的结构的图示。 图12是示出当从轮廓中枚举出多个切线候选时,切线将会采取的方向的图示。 图13是示出当Dl《D2时枚举出切线候选的示例的图示。 图14是示出当Dl > D2时枚举出切线候选的示例的图示。 图15是示出第三实施例的图像处理装置的结构的图示。 图16是示出在第三实施例中从轮廓上的轮廓点计算切线的概述的图示。 图17是示出在第六实施例中从轮廓上的小区段计算切线的概述的图示。 图18是示出第七实施例的图像处理装置的结构的图示。 图19是示出第八实施例的图像处理装置的结构的图示。 图20是示出提取字符行的概述的图示。
具体实施例方式
以下将基于附图描述本发明的各个实施例。 本发明的各个实施例将参考附图进行描述,但是这些附图仅是用于示例性目的,
而不以任何方式限制本发明。(第一实施例) 图1是示出根据本发明的第一实施例的图像处理装置的结构的方框图。 如图1所示,该图像处理装置具有图像存储单元10,诸如存储器、图像提取单元
11、切线计算单元12、特定方向轮廓点投影单元16、特定方向矩形计算单元17、输出单元18、输入单元19等等。 切线计算单元12例如具有作为轮廓计算单元的轮廓跟踪单元13以及切线方向计 算单元14。 切线方向计算单元14具有作为切线方向范围计算单元的向量方向计算单元15,
其用于限定用于计算的切线方向的一个范围。 图像存储单元10存储图像201。 作为在图像存储单元10中所存储的图像的一个示例,在图2中示出了照相机拍摄 的数字标签。 图像201示出了数字标签202,该数字标签202的字符(例如"20")是倾斜的。
另外,图像存储单元10具有存储表格(见图5),在该存储表格中,将形成字符轮廓 的多个轮廓点中的每一个轮廓点的信息(例如坐标以及用于示出在相应的轮廓中的顺序 的数字)存储为阵列。 图像提取单元11从自图像存储单元10读出的图像201中的识别目标(处理目 标)中提取出图形或字符的图像。 例如,在图2中所示的示例中,提取出包含字符"20"的字符串部分的图像204(以 下称为"处理目标图形204"),如图3所示。 如果在图2中所示的图像是待处理的图像,则图像提取单元11读出存储在图像存 储单元10中的图像201并从倾斜的数字标签202中提取出处理目标的图像。但是如果在 图像存储单元10中存储了如图3所示的处理目标图形204,则图像提取单元11就是不必要 的。 切线计算单元12从由图像提取单元11自图像存储单元10提取的图像中提取轮
廓,其是被表示为一组轮廓点的弯曲线,并且计算所提取的轮廓的切线。 轮廓跟踪单元13基于像素颜色跟踪处理目标图形204的轮廓,并产生轮廓
205(见图4)。 更具体而言,轮廓跟踪单元13枚举出形成了划分处理目标图形204的内侧和外侧 的轮廓的多个轮廓点,以便计算待处理的图形的最小外接矩形。
每个轮廓点都由该轮廓点的坐标来表示。 在以下描述中,假设待处理的图像是二值图像(见图2),并且其中包含了处理目 标图形204,要针对该处理目标图形204来计算最小外接矩形,并且假设处理目标图形204 由相互连接的多个黑色像素成分组成。 向量方向计算单元15计算由轮廓跟踪单元13产生的轮廓205 (见图4)的多条切 线的方向(向量方向)。 特定方向轮廓点投影单元16虚拟地设置与由切线方向计算单元14所计算的、从 轮廓205上的每个轮廓点所绘制的切线正交(垂直)的轴,并将该切线投影到该轴上(见 图6),并计算该切线与该轴的交点坐标。 特定方向矩形计算单元17从由特定方向轮廓点投影单元16在每个方向上的轴上 计算的交点之中选择具有坐标的最大值和最小值的交点(见图7)。 然后,特定方向矩形计算单元17计算由穿过针对第一轴所选择的具有最大值和 最小值的两个交点的一对平行切线以及穿过针对正交于第一轴的第二轴所选择的具有最大值和最小值的两个交点的另一对平行切线所形成的矩形(见图8)。 换而言之,特定方向矩形计算单元17从由特定方向轮廓点投影单元16在各个方 向上所计算的交点之中选择具有坐标的最大值和最小值的交点,并计算具有上下端和左右 端的坐标的矩形,其中上下端和左右端是对于正交方向的每个组合、在每个方向上选择的 最大值和最小值。注意,该矩形被形成为包围该轮廓。"包围该轮廓"的含义包括在轮廓上外切、临近轮廓、或者与轮廓接触。 输出单元18输出由特定方向矩形计算单元17所计算的矩形,并且输出单元18例
如为显示单元,诸如显示器。 此外,对于输出单元18,可以采用例如执行字符识别处理的图像处理模块等等,而 不是显示单元。 在以下所述的第七实施例以及第八实施例中将详细描述图像处理模块。 输入单元19指示图像处理的开始和结束,并且由例如键盘、鼠标等等来具体实现。 以下,将参考图3到图10描述第一实施例的图像处理装置的操作。 图像提取单元11从自图像存储单元10读取的图像201中的略大于图形204或者
至少是包围图形204的区域中,提取图像作为识别目标(处理目标)。 例如,如图2所示的示例中,提取出图像203,图像203包含表示字符串"20"的部 分204。 图2示出了具有圆形边界的数字标签的示例。如果要识别在该标签中的数字并且 如果边界是红色的,则图像提取单元11在图像存储单元10中将图像201存储为用RGB表 示的彩色图像。 然后,图像提取单元11在图像201中提取出多个像素作为二值图像中的黑色像
素,其中这些像素的R分量的像素值等于或大于G和B分量的像素值的两倍。 然后,图像提取单元11用Hough变换从所提取的二值图像中检测圆形区域,并创
建这样的一个图像在该图像中,通过将该圆形区域外侧的区域绘制为白色来屏蔽该区域,
从而提取了处理目标图像204 。 在切线计算单元12中,轮廓跟踪单元13从由图像提取单元11所提取的图像203 中提取轮廓205 (见图4)以及形成轮廓205的轮廓点(见图9)。 切线计算单元12中的轮廓跟踪单元13在该轮廓上按照顺序枚举出处理目标图形 204的轮廓点。在此将会描述该枚举过程。 在该示例中,假设要对其计算最小外接矩形的图像是表示例如数字"20"等等的字 符图像204,并且由耦合在一起的多个黑色像素成分构成。 轮廓点的信息例如存储在图5中所示的存储表格中。该存储表格包括阵列R、阵列 P和阵列m。 阵列P指示轮廓点的二维坐标。阵列R指示在每个轮廓上的第一个轮廓点在阵列 P中的位置。阵列m指示在每个轮廓上的轮廓点数量。 在以下所述的过程中,将处理目标图像表示为宽度w个像素以及高度h个像素的 二值(0或1)阵列I,其中,二进制值"0"表示白色像素,而二进制值"1"表示黑色像素。
阵列F也是宽度w个像素以及高度h个像素的二值阵列。整数变量X0、Y0表示要跟踪下一个轮廓的起始点的坐标。 整数变量X、Y表示当前跟踪的轮廓点的坐标。X0和X在向右的方向上为正,Y0和Y在向下的方向上为正。 整数变量D0、D1、D2表示方向。对于这些变量,值0表示向右,1表示向上,2表示向左,3表示向下。整数变量L表示当前跟踪的轮廓的编号。 整数变量M表示所枚举的轮廓点的编号。阵列变量P是二维坐标阵列,存储了所枚举的轮廓点的坐标。 阵列变量R是整数阵列,阵列R[l]表示用于指示第1个轮廓的第一个轮廓点在阵列P中的位置的元素编号。 对于阵列变量m, m[l]表示为第1个轮廓所枚举的轮廓点数量。 轮廓跟踪单元13通过以下过程枚举轮廓点。 1.将L初始化为0。 2.将M初始化为0。 3.将阵列F的所有元素初始化为O。 4.将YO初始化为0。 5.重复以下处理,直到YO到达h。 (A)将XO初始化为O。
(B)重复以下过程,直到XO到达w。 [1]如果在阵列F的坐标(X, Y)处的元素为O,则执行以下处理 (1)将m[L]设定为0。 (2)将R[L]设定为M。 (3)将X设定为XO,将Y设定为YO。 (4)将D0设定为2。 (5)将D1设定为D0。 (6)重复以下处理。 (a)将P[M]设定为坐标(X, Y)。(将在坐标(X, Y)处的点枚举为轮廓点。) (b)将m[L]设定为m[L] +1 。 (c)将M设定为M+l。 (e)将D2的值改变为按照被枚举的顺序的以下各值,直到与由D2表示的方向上的坐标(X,Y)处的像素相邻的像素的值变为1。然而,当在D2的方向上的像素在图像区域外部时,假定该相邻像素的值为0。 參(D1+3)M0D 4(a MOD b表示a除以b的除法运算中的余数)。 參Dl (D1+1)M0D 4 參(D 1+2) MOD 4 (f)将Dl设定为D2。 (g)将阵列F中的坐标(X, Y)上的元素设定为1。 (h)根据Dl的值执行以下操作之一 參如果D1 = O,则将X设定为X+l。
9
參如果D1 = l,则将Y设定为Y-l。
參如果D1 = 2,则将X设定为X-l。
參如果D1 = 3,则将X设定为Y+l。 (i)如果X = X0且Y = Y0且Dl = D0,则(6)的迭代结束。
(7)将L设定为L+1。
[2]将X0递增1。
(C)将YO递增1。 因此,如图9所示,对于例如处理目标图形"0"枚举出多个轮廓点。 在此,每个"□"表示黑色像素,每个"參"表示轮廓点,连接"參"点的每个"_"表
示轮廓的片段。 切线方向计算单元14针对由轮廓跟踪单元13枚举的每个轮廓点,计算轮廓的切线方向的范围。 在此,1表示要对其计算切线方向的范围的轮廓点所属于的轮廓的编号,i表示在该轮廓上的轮廓点的编号,d是预先定义的自然数。 在该示例中,切线方向计算单元14在以下过程中计算切线方向的范围。该过程的概述在图10中示出。 切线方向计算单元14查询图5的存储表格,首先计算存储表格中的第1个轮廓上的第i个轮廓点的坐标,并将(X,Y)设定为这些坐标。(将(X,Y)设定为P[R[l]+i]。)
切线方向计算单元14获得在第1个轮廓上的第i个轮廓点之前第d个点的轮廓点的坐标,并将(Xs,Ys)设定为该坐标。(将(Xs,Ys)设定为P[R[l] + ((i-d)MOD m[l])])。
切线方向计算单元14获得在第1个轮廓上的第i个轮廓点之后第d个点的轮廓点的坐标,并将(Xe,Ye)设定为该坐标。(将(Xe,Ye)设定为P[R[l] + ((i+d)M0D m[l])])。
切线方向计算单元14计算差向量Fs = (X-Xs, Y-Ys),并且通过向量方向计算单元15根据向量Fs计算方向编号Ds。 切线方向计算单元14计算差向量Fe = (Xe-X, Ye_Y),并且通过向量方向计算单
元15根据向量Fe计算方向编号De。 切线方向计算单元14设置AD = Ds-De。 在此,如果AD《N/2,则切线方向计算单元14设置D1 = Ds, D2 = De。
另一方面,如果AD〉N/2,则切线方向计算单元14设置D1 = De, D2 = Ds。
因此由切线方向计算单元14计算出Dl和D2,作为轮廓的切线方向的范围。
随后,向量方向计算单元15计算由轮廓跟踪单元13产生的轮廓205(见图4)的切线的方向(向量方向)。 在该示例中,向量方向计算单元15根据向量F二 (Fx,Fy)计算方向编号D。
向量方向计算单元15根据多个条件选择并使用以下[表达式1]、[表达式2]、[表达式3]和[表达式4]之一,并计算方向编号D。
如果Fx二O, 如果Fy < 0,则D = ROUND (N/4) …[表达式1],或者
如果Fy > 0,则D = ROUND (3N/4) …[表达式2]。
如果FxX),
D = ROUND (ATAN(-Fy/Fx) X N/360) MOD N…[表达式3]
如果Fx〈0,D = (180+R0UND(ATAN(-Fy/Fx) XN/360))MOD N…[表达式4]。
然而,函数ROUND (x)返回一个通过对实数x进行四舍五入而计算的值。
函数ATAN(x)是x的反正切函数。
函数ATAN(x)返回的角度以"度"为单位。 特定方向轮廓点投影单元16在由切线方向范围计算单元(向量方向计算单元15)
计算的范围中的每个方向D上从轮廓点朝向与切线候选D正交的轴绘制该切线候选。 就是说,特定方向轮廓点投影单元16通过在方向D上将轮廓点投影到该轴上来计
算在该轴与切线的交点上的坐标t。 注意,使用以下[表达式5]来计算坐标t。 t = X X COS (-360D/N-90) +X X SIN (-360D/N-90) [表达式5] 在此,该轮廓点的坐标为(X, Y)。 特定方向矩形计算单元17根据在特定方向轮廓点投影单元16中被投影到该轴上的交点,计算在该轴的每个方向上包围处理目标图形204的轮廓205的矩形(以下称为最小外接矩形)。最小外接矩形由上下端和左右端的坐标来表示。 在第D个方向上的最小外接矩形的坐标由这样的坐标系来表示该坐标系的一个轴在方向D上(以下称为"U轴"),另一个轴在从方向D顺时针旋转90度的方向上(以下称为"V轴")。 以下将沿着U轴的坐标称为U坐标,将沿着V轴的坐标称为V坐标。
由特定方向矩形计算单元17在以下过程中计算在每个方向上的最小外接矩形。
1.对于每个切线方向D,计算由特定方向轮廓点投影单元16投影轮廓点的方向上的坐标t的最大值,并将其存储在存储表格的阵列A中。 将A[D]设定为在方向D上在特定方向轮廓点投影单元16中计算的坐标t的最大值。 注意,通过以下过程计算该最大值。 (1)将A[D]设定为O,其中D = 0, , N-l。
(2)对于每个轮廓点,获得在向量切线方向计算单元中计算的方向D以及在特定
方向轮廓点投影单元中计算的坐标t,并且如果t > A[D],则将A[D]设定为t。 2.将在第l个轮廓的角度D中的最小外接矩形的下端的V坐标Ve(l,D)设定为
A [D],将右端的U坐标Ue (1 , D)设定为A [D+ROUND (N/4)],将上端的V坐标Vs (1 , D)设定为
A [D+ROUND (N/2)],将左端的U坐标Us (1 , D)设定为A [D+ROUND (3N/4)]。 从而在每个方向上计算出最小外接矩形,并由输出单元18输出。例如,由显示器
显示最小外接矩形。 这样,使用第一实施例的图像处理装置,通过在计算处理目标图形204的最小外接矩形时将从处理目标图形204的轮廓205绘制的切线的方向限定在特定角度范围(能够获得切线的方向范围),减小了由于方向数量的增加导致的计算复杂度的增加。
(第二实施例) 接下来,将参考图11到图14描述第二实施例的图像处理装置。
注意,与上述第一实施例中的组件相同的组件将被给予相同的参考数字,并且省略了对其的重复描述。 在第二实施例的该图像处理装置中,如图11所示,切线方向计算单元14具有切线方向候选枚举单元20。 切线方向候选枚举单元20将切线方向限定为N个离散的方向,并且对于轮廓上的每个轮廓点枚举出(选择)在由向量方向计算单元15计算的方向(角度)的范围中存在的切线候选。 就是说,切线方向候选枚举单元20从均匀地划分360度的N个方向中选择在所计
算的范围内的方向,作为切线方向候选(见图12)。 将要被枚举的方向候选表示为小于该预定数量N的非负整数。 非负整数n表示从X轴旋转360n/N度的方向,如图12所示。因此X轴的方向为0度。 切线方向候选枚举单元20枚举出在每个轮廓点上的其方向在由向量方向计算单
元15所计算的、由一对非负整数Dl和D2所表示的范围内的切线候选。 在此,非负整数D1是切线方向范围的起点,非负整数D2是切线方向范围的终点。 例如,当D1《D2,切线方向候选枚举单元20枚举出从非负整数D1(起点)到非负
整数D2(终点)的所有非负整数,作为切线方向D的候选,如图13所示。 另一方面,当Dl > D2时,切线方向候选枚举单元20枚举出从非负整数D1 (起点)
到N-1以及从0到D2的非负整数,作为切线方向D的候选,如图14所示。 这样,切线方向候选枚举单元20在限定切线方向的范围的同时,枚举出了在每个
轮廓点上的切线方向D的候选。 特定方向轮廓点投影单元16对于每个轮廓点,在由切线方向候选枚举单元20计算的范围内的各个方向D上朝向与该方向D正交的轴绘制切线候选。 就是说,特定方向轮廓点投影单元16通过将轮廓点投影到该轴来计算在与方向D正交的轴上的坐标t。 注意,使用在第一实施例中所示的[表达式5]来计算该坐标t。 因此,使用第二实施例的图像处理装置,将要执行计算的切线方向限定在由切线
方向范围计算单元所计算的范围内。因此,减小了由于方向数量的增加导致的计算复杂度
的增加。(第三实施例) 接下来,将参考图15和图16来描述第三实施例的图像处理装置。 注意,与上述第一实施例中的组件相同的组件将被给予相同的参考数字,并且省
略了对其的重复描述。 第三实施例的该图像处理装置被简化,如图15所示,具有仅用于计算要从轮廓点绘制的切线方向,并不如同在上述第一和第二实施例中所示的切线方向计算单元14中所执行的那样枚举出切线方向的范围和切线候选的结构。 在该结构中,切线方向计算单元14为处理目标图形的每个轮廓点计算切线,如图16所示。 轮廓点由轮廓跟踪单元13确定,因此切线方向计算单元14通过以下过程计算切线方向。 1.获得在第l个轮廓上的第i个轮廓点之前第d个点的轮廓点的坐标,并将(Xp, Yp)设定给该坐标。(将(Xp,Yp)设定为P[R[l] + ((i-d)M0D m[l])]。) 2.获得在第l个轮廓上的第i个轮廓点之后第d个点的轮廓点的坐标,并将(Xn, Yn)设定给该坐标。(将(Xn,Yn)设定为P[R[l] + ((i+d)M0D m[l])]。)
3.计算差向量F = (Xn-Xp, Yn-Yp)。 在该结构中,特定方向轮廓点投影单元16为每个轮廓点在由切线方向计算单元 14计算的方向D上朝向与该方向D正交的轴绘制切线。 就是说,特定方向轮廓点投影单元16通过将轮廓点投影到与切线方向D正交的轴 上来计算该轴上的坐标t。 这样,使用第三实施例的图像处理装置,能够以一种简化的方式执行对切线方向 的运算(计算),并且以更高的速度执行对最小外接矩形的计算。
(第四实施例) 以下将描述第四实施例的图像处理装置。 注意,该实施例在组件的排列上与第一实施例相同(见图l),而在一部分组件的 功能(操作)上与第一实施例不同(切线方向范围计算单元)。 在第一实施例中,对于处理目标图形204的轮廓205上的每个点计算切线方向范 围,并从其中的每个轮廓点投影(绘制)切线。 另一方面,在第四实施例的图像处理装置中,将轮廓205划分为预定长度的小区 段,为每个所划分的小区段计算切线方向的范围,并对于在与每个小区段相对应的范围中 的每个方向从该小区段朝向一个轴投影(绘制)切线。 举例而言,将较小部分定义为由轮廓跟踪单元13所计算的轮廓点之中一对相邻 轮廓点。 特定方向轮廓点投影单元16将每个小区段投影到与在由切线方向范围计算单元 计算的范围中的一方向正交的轴上。 当对于由切线方向范围计算单元计算的方向范围的起点D1和终点D2满足条 件D1《D2时,对于在一个小区段的两端上的每个轮廓点,通过上述[表达式5]为满足 Dl《D《D2的每个整数D计算投影的坐标t,并在特定方向矩形计算单元17中使用该坐 标t更新阵列A[D]。 然而,在使用上述[表达式5]计算坐标t时,使用小区段的两端的轮廓点的坐标 (X,Y)来计算t并更新阵列A[D]。 此外,如果Dl > D2,则将从起点Dl到N-l以及从0到终点D2的每个非负整数作 为D,并对于在小区段之间的两端的每个轮廓点使用上述[表达式5]计算投影的坐标t,并 在特定方向矩形计算单元17中使用该坐标t更新阵列A[D]。 然而,在使用上述[表达式5]计算坐标t时,使用小区段的两端的轮廓点的坐标 (X,Y)来计算t并更新阵列A[D]。 因此,使用第四实施例的图像处理装置,将计算目标的切线方向限制在由切线方向范围计算单元所计算的切线方向的范围内。因此,减小了由于方向数量的增加导致的计 算复杂度的增加。 此外,由于不是用每个黑色像素来划分处理目标图形的轮廓而是将该轮廓划分为 具有特定长度的小区段,减小了要进行计算的切线候选的数量,从而减小了计算复杂度。
(第五实施例) 接下来,将描述第五实施例的图像处理装置。 注意,该实施例在组件的排列上与第二实施例相同(见图11),而在一部分组件的 功能(操作)上与第二实施例不同(切线方向候选枚举单元20)。 在第二实施例中,对于处理目标图形204的轮廓205上的每个点限定为其绘制切 线的方向的范围,并且将在该范围内存在的方向上的切线枚举为候选。 另一方面,在该第五实施例的图像处理装置中,切线方向候选枚举单元20将在轮 廓跟踪单元中产生的轮廓划分为多个预定长度,对于每个所划分的小区段计算切线方向的 范围,并将在该范围内存在的切线枚举为候选。 通过以下过程来执行在切线方向范围计算单元中的切线方向范围的计算。 1.计算在小区段的起点之前第d个点的轮廓点处的切线方向Ds。 采用与在第三实施例中的切线方向计算单元14中相同的方式来计算切线方向Ds。 2.计算在小区段的终点之后第d个点的轮廓点处的切线方向De。 采用与在第三实施例中的切线方向计算单元中相同的方式来计算切线方向De。 3.设置AD = Ds-De。 4.如果AD《N/2,则Dl = Ds且D2 = De。如果AD > N/2,则Dl = De且D2 = Ds。 5.将从D1到D2的范围作为切线方向的范围。
在此,d是预先定义的自然数。 切线方向候选枚举单元20将在轮廓跟踪单元13中产生的轮廓划分为多个预定长 度,为每个所划分的小区段计算切线方向的范围,并枚举在该范围内存在的切线作为候选。
然后,特定方向轮廓点投影单元16通过将小区段的两端处的轮廓点投影到与在 切线方向候选枚举单元20中枚举的切线方向候选正交的轴上,来计算交点的坐标。
此时,使用上述[表达式5]计算轮廓点的投影,作为到该轴上的投影的坐标t。
在此,轮廓点的坐标为(X, Y)。 这样,使用第五实施例的图像处理装置,切线方向候选枚举单元20对于通过划分 轮廓所获得的每个小区段,从轮廓的方向范围中枚举出切线候选。因此,减少了要对其进行 计算的切线候选的数量,从而减小了由于方向数量的增加导致的计算复杂度的增加。
(第六实施例) 接下来,将参考图17描述第六实施例的图像处理装置。 注意,该实施例在组件的排列上与第三实施例相同(见图15),而在一部分组件的 功能(操作)上与第三实施例不同(切线方向计算单元14)。 在第六实施例的图像处理装置中,切线方向计算单元14将处理目标图形的轮廓 划分为多个预定长度,并为每个所划分的小区段计算轮廓的方向。
14
此外,特定方向矩形计算单元17基于由特定方向轮廓点投影单元16从轮廓的各 个小区段投影到轴上的交点,用切线来包围处理目标图形的轮廓,并为每一个方向计算包 围处理目标图形的矩形。 在该第六实施例中,将位于该轮廓上小区段的起点处的轮廓点编号表示为"s",将 位于该轮廓上小区段的终点处的轮廓点编号表示为"e"。这个轮廓的编号为l。在该实施 例中,切线方向计算单元14在以下过程中计算切线方向。在图17中示出了在切线方向计 算单元14中的切线方向计算的概述。 获得在第1个轮廓上的小区段的起点之前第d个点的轮廓点的坐标,并将(Xp, Yp) 设定给该坐标。(将(Xp,Yp)设定为P[R[l] + ((s-d)M0D m[l])]。) 2.获得在第l个轮廓上的小区段的终点之后第d个点的轮廓点的坐标,并将(Xn, Yn)设定给该坐标。(将(Xn,Yn)设定为P[R[l] + ((e+d)M0D m[l])]。)
3.计算差向量F = (Xn-Xp, Yn-Yp)。
在此,d是预先定义的自然数。 这样,使用第六实施例的图像处理装置,能够以一种简单的方式执行对切线方向 的运算(计算),并且能够以更高的速度执行对最小外接矩形的计算。 此外,通过将轮廓划分为小区段,并从这些部分而不是轮廓点绘制切线,减小了要 对其进行计算的切线候选的数量,从而减小了计算复杂度。 就是说,在以上第四到第六实施例中,切线方向计算单元14将处理目标图形的轮 廓划分为多个小区段,并且对于每一个所划分的小区段执行诸如以下的处理计算切线方 向(第三实施例)、计算切线方向的范围(第一实施例)、枚举在切线方向的范围中存在的 切线候选(第二实施例)等等。
(第七实施例) 接下来,将参考图18来描述第七实施例的图像处理装置。 注意,与上述第一实施例中的组件相同的组件将被给予相同的参考数字,并且省 略了对其的重复描述。 第七实施例的图像处理装置示出了在由从第一到第六实施例中任意一个实施例 所述的结构(直到特定方向矩形计算单元17的结构)计算了在轮廓的每个方向上的最小 外接矩形之后,如何对这些最小外接矩形进行处理。 除了从第一到第六实施例中任意一个实施例所述的结构(直到特定方向矩形计 算单元17的结构)之外,第七实施例的图像处理装置还包括作为输出单元18的轮廓重量 (weight)计算单元73、特定方向投影计算单元74以及特定方向投影输出单元75,如图18 所示。 轮廓重量计算单元73计算每个轮廓的重量。 特定方向投影计算单元74根据在轮廓重量计算单元73中计算的轮廓的重量以及 由特定方向矩形计算单元17为多个方向所计算(估计)的与轮廓相对应的最小外接矩形, 来计算在每个方向上的处理目标图形的投影。 特定方向矩形计算单元17具有与在第一到第六实施例中任意一个实施例中所述的结构相同的结构,并且从根据处理目标图形产生的轮廓中计算在每个方向上的该轮廓的 最小外接矩形。 轮廓重量计算单元73为处理目标图形的每个轮廓计算重量。
将第1个轮廓所包围的面积计算为该轮廓的重量。 将轮廓所包围的面积计算为重量的原因在于,所得到的投影近似于轮廓所包围的 黑色像素的投影。 对于由第l个轮廓所包围的面积,通过以下[表达式6]为在该轮廓上的每个投影 点计算面积AS[i],然后将所包围的面积计算为各个轮廓点的面积AS[i]的总和S[l]。
AS[i] = (P[R[l]+i]. X+P[R[l]+j]. X)
X (P[R[l]+i].Y-P[R[l]+j].Y)/2…[表达式6] 在此,i是在该轮廓上的该轮廓点的编号。P[k]表示在存储了由轮廓跟踪单元13 枚举的轮廓点坐标的阵列中的第k个元素。 P[k].X表示P[k]的X分量,P[k].Y表示P[k]的Y分量。
在此,j = (i+l)M0D N。 特定方向投影计算单元74根据轮廓重量计算单元73所计算的轮廓的重量以及特 定方向矩形计算单元17为每个方向所计算的相应轮廓的最小外接矩形,来计算在每个方 向上处理目标图形的投影。 轮廓编号为l,其方向为D,在该方向上的轴上的坐标为t。 这时,特定方向投影计算单元74使用以下[表达式7]计算投影的增量AJ(1,D, t)。例如,为在坐标ROUND (Vs (1, D))和ROUND (Ve (1, D))之间的每个坐标t计算投影的增 量AJ(l,D,t),并将所计算的投影的增量AJ(l,D,t)加到投影J[t]上,从而计算了该方 向D的投影。 AJ(l,D,t) = S[l]/(Ve(l,D)-Vs(l,D))…[表达式7] 在此Us(l, D)是由特定方向矩形计算单元17获得的第1个轮廓在角度D上的最
小外接矩形的左端的U坐标,Vs(l,D)是该最小外接矩形的上端的V坐标,Ue(l,D)是该最
小外接矩形的右端的U坐标,Ve (1, D)是该最小外接矩形的下端的V坐标。 使用第七实施例的该图像处理装置,以较高的速度计算了可用于在字符识别处理
中的字符行或字符的提取的投影。(第八实施例) 接下来,将参考图19和图20来描述第八实施例的图像处理装置。 注意,与上述第七实施例中的组件相同的组件将被给予相同的参考数字,并且省
略了对其的重复描述。 第八实施例的图像处理装置示出了在第七实施例所述的特定方向投影计算单元
74计算了在每个方向上的处理目标图形的投影之后,如何对投影进行处理。 除了从第一到第六实施例中任意一个实施例所述的结构(直到特定方向矩形计
算单元17的结构)之外,第八实施例的图像处理装置还包括作为输出单元18的轮廓重量
计算单元73、特定方向投影计算单元74、字符行估计单元83以及字符行输出单元84,如图
19所示。 字符行估计单元83基于由特定方向投影计算单元74计算的处理目标图形的在多个方向上的投影,估计在处理目标图形中的字符行的方向。 字符行输出单元84输出由字符行估计单元83所估计的字符行。当字符行输出单
元84是例如显示器等等时,该单元执行诸如在其屏幕上显示字符行之类的输出。 特定方向投影计算单元74具有在第七实施例中所示的结构,并计算处理目标图
形的投影。 字符行估计单元83从其中由特定方向投影计算单元74所计算的投影超过了预先 定义的恒量9的部分中,提取具有不小于预先定义的恒量e的长度的区域作为"行",如图 20所示。 这样,使用第八实施例的图像处理装置,基于处理目标图形在每个方向上的投影 来估计处理目标图形中的字符行的方向。因此,对于从字符串的方向不恒定的相片(例如 由手工附着到一片布料上的数字标签、名称标签等等)中读出的图像的字符识别处理,可 以通过将用于字符识别的字典中的字符的方向对齐到处理目标图形的方向上来高速地执 行。 根据以上所述的各个实施例,当计算投影时,通过将计算投影的方向限制为与轮 廓正交的方向来降低计算复杂度。 因此,可以在计算资源受到限制的情况下计算更多方向的投影。 具体而言,在使用处理目标图形的投影来估计字符行的方向并且计算资源受到限
制的情况下,可以以更高的精度来估计行方向。 注意,本申请的发明范围并不局限于上述实施例,在实现阶段,在不脱离本发明的 精神的情况下可以对各个组件进行修改。 此外,在各个实施例中公开多个组件可以进行适当组合以形成各种发明。 例如,在上述各个实施例中所示的结构不仅可以实现为硬件,而且可以实现为例
如在计算机中的图像处理软件中的模块(程序)。 此外,程序可以存储在计算机可读电子介质中,并且本发明的功能可以用计算机 通过将程序从电子介质上读出到该计算机中来实现。电子介质的示例包括诸如CD-R0M、闪 存存储器、可移动介质等等之类的存储介质。 此外,在上述实施例中所示的结构可以安装在专用硬件或一组专用硬件中,或者 以分布式方式安装在计算机网络中的一个计算机上以便进行分布式处理。只要包含上述组 件中实现本发明所必需的所有要素,本发明可以以任何形式实现,而不管在各个实施例中 所举例说明的结构如何。 此夕卜,可以从在实施例中所示的所有组件中删除几个组件。
此外,跨越不同实施例的组件可以适当地进行合并来形成本发明。
权利要求
一种图像处理装置,包括存储单元,其存储处理目标图像;切线计算单元,其从读取自所述存储单元的图像中提取被表示为轮廓点组的轮廓,并针对所述提取的轮廓计算切线;投影单元,其将由所述切线计算单元计算的切线投影到与相应的切线正交的方向上的轴上,并计算所述切线与相应的轴相交处的交点的坐标;以及矩形计算单元,其在由所述投影单元为所述轴的每个方向计算的交点之中选择具有坐标的最大值和最小值的交点,并计算由穿过针对第一轴所选择的具有最大值和最小值的两个交点的一对平行切线以及穿过针对正交于所述第一轴的第二轴所选择的具有最大值和最小值的两个交点的另一对平行切线所形成的矩形。
2. 如权利要求l所述的图像处理装置,其中,所述切线计算单元计算在通过将所述轮廓划分为多个预定长度而计算的多个段 中的每一个段中的切线。
3. 如权利要求l所述的图像处理装置,其中,所述切线计算单元为所述轮廓上的每个轮廓点计算切线。
4. 如权利要求l所述的图像处理装置, 其中,所述切线计算单元包括轮廓跟踪单元,其从所述轮廓上的特定位置开始,连续地跟踪所 述轮廓上的轮廓点;切线范围确定单元,其根据所述轮廓跟踪单元所跟踪的每个轮廓 点的跟踪结果,来确定要绘制所述切线的方向;以及 范围内切线计算单元,其在由所述切线范围确定单元所确定的角 度范围内,计算所述轮廓的切线。
5. 如权利要求4所述的图像处理装置,其中,所述范围内切线计算单元包括切线候选枚举单元,其从均匀划分了 360度的N 个方向中选择切线候选的方向。
6. 如权利要求l所述的图像处理装置,还包括 重量计算单元,其计算每个所述轮廓的重量;以及投影计算单元,其根据由所述重量计算单元计算的轮廓的重量以及由所述矩形计算单 元为多个方向所计算的与所述轮廓相对应的最小外接矩形,来计算所述图像在每个方向上 的投影。
7. 如权利要求6所述的图像处理装置,还包括字符行估计单元,其基于在由所述投影计算单元所计算的多个方向上的投影,来估计 字符行的方向。
8. —种电子介质,其被配置为存储用于在图像处理装置中执行图像处理的图像处理程 序,所述图像处理程序提供了所述图像处理装置的多个功能,所述多个功能包括从存储单元中读出图像,从所述读出的图像中提取出被表示为轮廓点组的轮廓,并计 算所述提取的轮廓的切线;将所计算的切线投影到与所述切线正交的轴上,并计算所述切线与所述轴相交处的交点的坐标;在由所述投影单元为所述轴的每个方向计算的交点之中选择具有坐标的最大值和最 小值的交点,并计算由穿过针对第一轴所选择的具有最大值和最小值的两个交点的一对平 行切线以及穿过针对正交于所述第一轴的第二轴所选择的具有最大值和最小值的两个交 点的另一对平行切线所形成的矩形。
9. 一种在图像处理装置中的图像处理方法,所述图像处理装置具有用于存储处理目标 图像的存储单元,所述图像处理方法包括以下步骤从读取自所述存储单元的图像中提取出被表示为轮廓点组的轮廓,并针对所述提取的 轮廓计算切线;将所计算的切线投影到与所述切线正交的轴上,并计算所述切线与所述轴相交处的交 点的坐标;以及在由所述投影单元为所述轴的每个方向计算的交点之中选择具有坐标的最大值和最 小值的交点,并计算由穿过针对第一轴所选择的具有最大值和最小值的两个交点的一对平 行切线以及穿过针对正交于所述第一轴的第二轴所选择的具有最大值和最小值的两个交 点的另一对平行切线所形成的矩形。
10. 如权利要求9所述的图像处理方法,还包括以下步骤计算在通过将所述轮廓划分为多个预定长度而获得的多个段中的每一个段中的切线。
11. 如权利要求9所述的图像处理方法,还包括以下步骤 为所述轮廓上的每个轮廓点计算切线。
12. 如权利要求9所述的图像处理方法,还包括以下步骤 从所述轮廓上的特定位置开始,连续地跟踪所述轮廓上的轮廓点; 根据每个所跟踪的轮廓点的跟踪结果,来确定要绘制所述切线的方向;以及 在所确定的角度范围内,计算所述轮廓的切线。
13. 如权利要求12所述的图像处理方法,还包括以下步骤 从均匀划分了 360度的N个方向中选择切线候选的方向。
14. 如权利要求9所述的图像处理方法,还包括以下步骤 计算每个所述轮廓的重量;以及根据所计算的轮廓的重量以及为多个方向所计算的与所述轮廓相对应 的最小外接矩形,来计算所述图像在每个方向上的投影。
15. 如权利要求14所述的图像处理方法,还包括以下步骤 基于所计算的在多个方向上的投影,来估计字符行的方向。
全文摘要
一种图像处理装置,包括存储单元,其存储处理目标图像;切线计算单元,其从读取自所述存储单元的图像中提取被表示为轮廓点组的轮廓,并针对所述提取的轮廓计算切线;投影单元,其将由所述切线计算单元计算的切线投影到与相应的切线正交的方向上的轴上,并计算所述切线与相应的轴相交处的交点的坐标;以及矩形计算单元,其在由所述投影单元为所述轴的每个方向计算的交点之中选择具有坐标的最大值和最小值的交点,并计算由穿过针对第一轴所选择的具有最大值和最小值的两个交点的一对平行切线以及穿过针对正交于所述第一轴的第二轴所选择的具有最大值和最小值的两个交点的另一对平行切线所形成的矩形。
文档编号G06K9/32GK101727580SQ200910171019
公开日2010年6月9日 申请日期2009年8月28日 优先权日2008年10月29日
发明者铃木智久 申请人:株式会社东芝;东芝解决方案株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1