CN101201903A - 图像处理装置及其控制方法 - Google Patents
图像处理装置及其控制方法 Download PDFInfo
- Publication number
- CN101201903A CN101201903A CNA2007101822126A CN200710182212A CN101201903A CN 101201903 A CN101201903 A CN 101201903A CN A2007101822126 A CNA2007101822126 A CN A2007101822126A CN 200710182212 A CN200710182212 A CN 200710182212A CN 101201903 A CN101201903 A CN 101201903A
- Authority
- CN
- China
- Prior art keywords
- point
- vector
- image
- marginal
- marginal point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 190
- 238000000034 method Methods 0.000 title claims description 91
- 239000013598 vector Substances 0.000 claims abstract description 680
- 239000000284 extract Substances 0.000 claims abstract description 83
- 238000000605 extraction Methods 0.000 claims description 87
- 238000004040 coloring Methods 0.000 claims description 17
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 239000003086 colorant Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 65
- 230000006870 function Effects 0.000 description 46
- 238000009499 grossing Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 39
- 238000003860 storage Methods 0.000 description 16
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000012447 hatching Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000010354 integration Effects 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 235000005121 Sorbus torminalis Nutrition 0.000 description 2
- 244000152100 Sorbus torminalis Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 240000001439 Opuntia Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
一种图像处理装置,可生成代表彩色图像的每个颜色区域的向量序列。图像处理装置基于图像的属性信息将图像分成多个区域,并提取与不同区域之间的边界线有关的区域边界信息。图像处理装置基于提取的区域边界信息为连接对应于邻接区域之间的边界的交点的第一边缘点到第二边缘点的每个边界生成边缘点间向量数据。图像处理装置基于生成的边缘点间向量数据识别代表每个划分成的区域的边界的一个或多个边缘点间向量数据,并生成单独区域向量数据。
Description
技术领域
本发明涉及一种配置成生成代表彩色图像的向量序列的图像处理装置,一种用于控制图像处理装置的方法,以及一种存储相关控制程序的存储介质。
背景技术
向量处理技术通常用于处理图像,例如文字处理器的字体。字体处理技术包括输入复杂的字符设计作为向量处理的对象。例如,传统技术可将模拟字符设计数字化处理成等于512×512或1024×1024像素的较大尺寸的二值图像,并生成代表字符轮廓的向量序列。通常,向量数据可实现各种大小的字符的光滑轮廓表示,并且可将字符保持良好形状。此外,可由相同向量数据简单地生成各种大小的字符而无需大量数据。
因此,如美国专利号5878161(对应于日本专利申请特开号5-174140)内所述,向量处理不仅可应用于字体而且还可应用于其他二值图像。
向量数据是数值数据例如坐标值,其可由计算机容易地编辑。例如,如美国专利申请号11/689326中所述,向量处理可应用于艺术线条(线图像)。如日本专利申请特开号7-121699内所述,向量处理可应用于全色图像。美国专利号6404921(对应于日本专利申请特开号4-157578)说明了应用于二值图像的向量处理。
美国专利号6404921内说明的方法包括基于目标像素及其邻接像素的状态将预定位置指定为构成轮廓线的点的步骤,和基于邻接像素的状态确定构成轮廓线的点的连接方向的步骤。此外,该方法包括确定构成轮廓线的一个点和另一个点之间的连接状态,按光栅扫描顺序更新图像数据上的目标像素的位置,并针对每个目标像素基于邻接像素的状态执行上述处理以提取轮廓点的步骤。
该方法还包括按光栅扫描顺序提取目标像素同时保持目标像素及其邻接像素在图像数据上的状态,基于目标像素及其邻接像素的状态沿水平方向和垂直方向检测像素间向量,确定这些像素间向量的连接状态,并基于确定的像素间向量的连接状态提取图像数据的轮廓的步骤。
美国专利号6404921内所述的方法可在完成一次完整的光栅扫描操作时提取图像内所包含的所有轮廓线。图像存储器不需要存储所有图像数据。因此,可使用小图像存储器。此方法的特征在于可在输入图像的像素的周边的单位内而不是像素的中心位置提取轮廓线。因此,此方法对于具有一个像素宽度的细线是有效的。
如美国专利申请公开号US 2005/0238244 A1(对应于日本专利申请特开号2005-346137)内所述,除了直线之外,还使用2阶或3阶贝塞尔曲线近似表示二值图像的轮廓信息。使用轮廓信息的函数近似的处理方法和处理装置可减小表示高品质可变倍率图像的数据量。
此外,根据美国专利号6404921内所述的方法从二值图像提取轮廓向量并将美国专利号5878161内所述的函数近似应用于提取的轮廓向量是有用的。获得的被平滑化的轮廓向量可形成具有希望(任意)放大率的高品质数字二值图像。
但是,传统的彩色图像向量处理依赖于确定输入图像的具有在颜色空间上确定的相同颜色属性的像素的区域(即,由同色像素构成的同色区域),以及生成构成每个确定的同色区域的轮廓形状的向量序列的步骤。
但是,如果对每个区域的轮廓进行贝塞尔函数近似或平滑化处理,则沿区域的边界会出现间隙或重叠,因为输入图像上的邻接区域的轮廓没有受到相同的近似或平滑化处理。图57示出为输入图像提取的轮廓图像的示例,根据该示例具有颜色空间上限定的相同颜色的连续接合的像素构成同色区域。如果忽略背景色,则在输入图像上具有彼此相邻的三个颜色区域。
图58示出由应用于构成每个区域的轮廓形状的向量的平滑化(函数近似)处理生成的两个区域之间的间隙和重叠。
发明内容
本发明的示例性实施例涉及一种配置成从由多个颜色区域构成的彩色图像生成代表每个区域的向量序列的图像处理装置。此外,本发明的示例性实施例提供了一种用于控制该图像处理装置的方法,和存储相关控制程序的存储介质。
根据本发明的一个方面,图像处理装置配置成执行用于生成代表图像的向量序列的处理。图像处理装置包括配置成基于图像的属性信息将图像划分成多个区域的划分单元,配置成提取与该划分单元划分的区域之间的边界线相关的区域边界信息的提取单元,配置成基于该提取单元提取的区域边界信息识别划分的区域的不同边界的交点的交点信息生成单元,配置成为连接对应于由该交点信息生成单元识别的交点的边缘点的每个边界生成边缘点间向量数据的边缘点间向量生成单元,和配置成基于该边缘点间向量生成单元生成的边缘点间向量数据生成被该划分单元划分的每个区域的向量数据的单独区域向量生成单元。
本发明的示例性实施例提供了一种能够从由多个颜色区域构成的彩色图像合适地生成代表每个区域的向量序列的图像处理装置。此外,本发明的示例性实施例提供了一种用于控制图像处理装置的方法和一种存储相关控制程序的存储介质。
本发明的其他特征和方面在下文结合附图对示例性实施例的详细说明中是显而易见的。
附图说明
并入且作为构成说明书的一部分的附图示出了本发明的示例性实施例和特征,并且与说明书一起解释了至少某些本发明的原理。
图1是示出根据本发明的第一示例性实施例的图像处理装置的功能配置的框图。
图2示出根据本发明的第一示例性实施例的指示区域号与颜色信息(属性信息)之间的关系的区域表的示例。
图3示出根据本发明的第一示例性实施例的边界点提取处理。
图4示出根据本发明的第一示例性实施例的边界点表的示例。
图5示出根据本发明的第一示例性实施例的被识别的边界线交点。
图6示出根据本发明的第一示例性实施例的交点表的示例。
图7A-7F示出根据本发明的第一示例性实施例用于形成线图像的向量序列生成处理。
图8是示出根据本发明的第一示例性实施例的边缘点间向量生成单元的功能配置的框图。
图9示出根据本发明的第一示例性实施例的图像处理装置的硬件配置。
图10是示出根据本发明的第一示例性实施例的图像处理装置的操作的流程图。
图11是示出根据本发明的第一示例性实施例的目标像素和邻接像素。
图12-27示出根据本发明的第一示例性实施例的边缘点间轮廓(周边)向量序列提取处理中根据目标像素和邻接像素状态的轮廓点和轮廓点信息的提取模式的示例。
图28示出根据本发明的第一示例性实施例的轮廓点信息的表。
图29A-29D示出根据本发明的第一示例性实施例的从边缘点部分检测到的轮廓点以及分配给这些轮廓点的轮廓点信息。
图30A-30D示出根据本发明的第一示例性实施例的从非边缘点部分提取的轮廓点以及分配给这些轮廓点的轮廓点信息。
图31A是示出根据本发明的第一示例性实施例的边缘间点轮廓(周边)向量提取处理的流程图。
图31B示出根据本发明的第一示例性实施例的向量序列提取处理的示例。
图31C示出根据本发明的第一示例性实施例的向量序列提取处理的示例。
图32示出根据本发明的第一示例性实施例的边缘点间周边向量序列和轮廓点信息用的数据格式的示例。
图33是示出根据本发明的第一示例性实施例的图31A的步骤S1内的向量序列提取处理的细节的流程图。
图34是示出根据本发明的第一示例性实施例的图33的步骤S120内的处理的细节的流程图。
图35示出根据本发明的第一示例性实施例的线元素、边缘点间周边向量序列、轮廓点信息和边缘点间线芯(周边)向量序列。
图36是示出根据本发明的第一示例性实施例的边缘点间线芯(周边)向量序列生成单元的操作的流程图。
图37A和37B示出根据本发明的第一示例性实施例就在起始边缘点之前和终止边缘点之后立即插入的辅助轮廓点。
图38是示出根据本发明的第一示例性实施例的边缘点间辅助向量引入(周边)向量序列生成单元的操作的流程图。
图39A和39B示出根据本发明的第一示例性实施例的边缘点间辅助向量引入(周边)向量序列和边缘点间平滑化向量序列的数据格式的示例。
图40是示出根据本发明的第一示例性实施例的图38的步骤S4100内的处理的细节的流程图。
图41示出根据本发明的第一示例性实施例的插在终止边缘点和起始边缘点之间的辅助向量。
图42示出根据本发明的第一示例性实施例的插在终止边缘点和起始边缘点之间的辅助向量。
图43示出根据本发明的第一示例性实施例的边界线的示例,每条边界线均连接一个交点与另一个交点。
图44A-44H示出根据本发明的第一示例性实施例的用于生成边界线图像的顺序进程。
图45示出根据本发明的第一示例性实施例的包含由被平滑化的边缘点间向量代表的边缘线的图像。
图46示出根据本发明的第一示例性实施例的包括图45内所示的边界线图像和相应的交点的图像。
图47是示出根据本发明的第一示例性实施例的图10的步骤S100内的单独区域向量生成处理的细节的流程图。
图48示出根据本发明的第一示例性实施例从包括区域属性信息的区域向量再现的图像。
图49是示出根据本发明的第一示例性实施例的图10的步骤S12内的区域划分处理的细节的流程图。
图50A-50E示出根据本发明的第一示例性实施例的被提取的边界线的示例。
图51A-51F示出根据本发明的第一示例性实施例的边界线图像的生成。
图52是示出根据本发明的第一示例性实施例的图10的步骤S30内的交点提取处理的细节的流程图。
图53A-53C示出根据本发明的第一示例性实施例的从区域划分结果提取的交点的示例。
图54示出根据本发明的第一示例性实施例的包括代表所有边界线的细线的图像。
图55是示出根据本发明的第二示例性实施例的图像处理装置的操作的流程图。
图56是示出根据本发明的第三示例性实施例的图像处理装置的操作的流程图。
图57示出处理对象图像的示例。
图58示出根据传统技术的包括缺陷的图像。
具体实施方式
下文对示例性实施例的说明本质上是说明性的,因此绝不应认为是限制本发明、其应用或使用。
在合适的时候,本领域的普通技术人员已知的过程、技术、装置和系统将作为表明本发明能实现的说明的一部分。
应指出,在整个说明书中,在下列图表中相同的标号和字母指示相同的项,因此一旦在一个图表中说明了一个项,则在随后的图表中将不再对其进行说明。
下文将参照附图详细说明示例性实施例。
本发明的示例性实施例针对一种即使在图像上的区域的轮廓受到函数近似处理或平滑处理时仍能足够地生成表示图像上的区域的轮廓的向量序列而不会生成不希望的间隙或重叠的技术。本发明的示例性实施例针对应用于与彩色图像相比具有较少量的颜色的说明性图像(例如数字照相机等捕获的自然图像)的向量处理。
每个示例性实施例中所述的向量代表向量数据(即,使用用于生成位图图像数据的数字公式或绘制命令表示的数据)。此外,用于将向量图像数据转换成位图图像数据的处理被称为“光栅化”。位图图像数据可被称为“光栅数据”。向量数据可被简称为“向量”。
第一示例性实施例
图1是示出根据本发明的第一示例性实施例的图像处理装置的功能配置的框图。在图1中,彩色图像获取单元11获取处理对象图像(即输入)。区域识别单元12将彩色图像获取单元11获得的图像划分成局部区域。每个局部区域是由几何学上相互连接的像素构成的同色区域。如果两个像素具有在预定范围内的特征量(即RGB值或其他颜色信息),则可确定这些像素构成同色区域。
区域识别单元12包括区域划分单元121和区域表生成单元122。区域划分单元121根据颜色信息将图像分成多个像素集合。每个几何学上连接的像素集合可被看作是同色区域。区域表生成单元122生成使从区域划分单元121获得的每个区域和与此区域有关的颜色信息(属性信息(例如RGB值))相互关联的信息。图2示出示例性的表格式(区域表201)。
细化区域边界图像生成单元20生成具有宽度为一个像素的细线的细化区域边界图像,该细线代表由区域识别单元12识别的邻接区域之间的区域边界。细化区域边界图像生成单元20包括区域边界信息提取单元210、交点信息生成单元220和边界线图像生成单元230。
区域边界信息提取单元210提取代表区域识别单元12识别的区域之间的区域边界的边界像素,以及指示被边界像素划分的区域的区域边界信息。
交点信息生成单元220生成交点信息,该交点信息指示对应于由四连续接合的区域边界像素构成的区域边界线的分支点的区域边界线的交点。换句话说,交点信息生成单元220生成指示彼此不同的边界的交点的交点信息。边界线图像生成单元230根据提取的区域边界信息和生成的交点信息生成细化的区域边界图像。
区域边界信息提取单元210包括水平边界点提取单元211、水平边界点表生成单元212、垂直边界点提取单元213、垂直边界点表生成单元214、对角线边界点提取单元215和对角线边界点表生成单元216。
例如如图3所示,当对区域识别单元12识别的包含局部区域的区域识别结果图像应用水平扫描操作时(每个局部区域由连续接合的像素构成并且可被看作是同色区域),水平边界点提取单元211在每条扫描线上提取代表邻接区域之间的边界的像素。即,水平边界点提取单元211提取在一个局部区域沿水平方向切换到另一个局部区域之处的像素。
水平边界点表生成单元212生成图4内示出的水平边界点表401,该表包括与水平边界点提取单元211提取的水平边界点中的每个点(像素)有关的信息。
例如如图3所示,当对区域识别单元12识别的包含局部区域的区域识别结果图像应用垂直扫描操作时—每个局部区域由连续接合的像素构成并且可被看作是同色区域,垂直边界点提取单元213在每条扫描线上提取代表邻接区域之间的边界的像素。即,垂直边界点提取单元213提取在一个局部区域沿垂直方向切换到另一个局部区域之处的像素。
垂直边界点表生成单元214生成图4内示出的垂直边界点表402,该表包括与垂直边界点提取单元213提取的垂直边界点中的每个点(像素)有关的信息。
例如如图3所示,当对区域识别单元12识别的包含局部区域的区域识别结果图像应用对角线扫描操作时—每个局部区域由连续接合的像素构成并且可被看作是同色区域,对角线边界点提取单元215在每条扫描线上提取代表邻接区域之间的边界的像素。即,对角线边界点提取单元215提取在一个局部区域沿对角线方向切换到另一个局部区域之处的像素。
对角线边界点表生成单元216生成图4内示出的对角线边界点表403,该表包括与对角线边界点提取单元215提取的对角线边界点中的每个点(像素)有关的信息。
交点信息生成单元220包括交点识别单元221和交点表生成单元222。
交点识别单元221参照图4内所示的水平边界点表401、垂直边界点表402和对角线边界点表403生成交点信息。
更具体地,如图5所示,交点识别单元221在表401-403中的至少两个表上列出的边界点中检测任何这样的边界点,即该边界点在一个表中具有的邻接区域号码的组合与在另一个表中具有的邻接区域号码的组合不完全相同。交点识别单元221将检测到的边界点看作是交点(交点信息)。根据图5示出的示例,交点识别单元221将两个边界点C和E看作是交点。
交点表生成单元222在检测到的交点所属的表上列出的邻接区域号码中选取与交点识别单元221识别的交点对应的所有区域号码。然后,交点表生成单元222生成图6所示的交点表601,该交点表存储与所有邻接区域的区域号码相关联的每个交点。
边界线图像生成单元230包括边界线图像绘制单元231和边界线图像细化单元232。
根据生成的区域边界信息和生成的交点信息,边界线图像绘制单元231生成由四接合的区域边界像素构成的边界线图像。边界线图像细化单元232对获得的边界线图像执行细化处理同时保持四连续接合状态,并生成四连续接合的被细化的区域边界图像。
例如,边界线图像细化单元232对由边界线图像绘制单元231生成的区域边界线像素构成的四连续接合边界线图像(二值图像)执行二值图像细化处理,并输出四连续接合的被细化的区域边界图像作为四连续接合的被细化的二值图像。
作为细化二值图像的方法,边界线图像细化单元232可使用Hilditch技术,该技术例如在Koich Sakai:“fundametals andapplications of digital image processing”,2nd edition,ISBN4-7898-3707-6,CQ Publishing,PP51-54,Feb.1,2004内说明的技术。
作为示例,如果边界线图像细化单元232输入图7A内所示的二值图像,则边界线图像细化单元232输出图7B内示出的被细化的图像。
返回参照图1,边缘点间向量生成单元30输入由细化区域边界图像生成单元20生成的四连续接合的被细化的区域边界图像,并为每条连接一个交点和另一个交点的四连续接合细线生成连接交点(边缘点)的边缘点间向量的集合。
边缘点间向量生成单元30包括边缘点间向量提取单元310和边缘点间向量函数近似(平滑化)单元320。
边缘点间向量提取单元310输入四连续接合的被细化的区域边界图像,并对每条连接一个交点和另一个交点的四连续接合细线,提取代表连接边缘点的每条细线的通过每个像素的中心位置的线芯向量作为连接交点(边缘点)的边缘点间向量。
边缘点间向量函数近似(平滑化)单元320对提取的边缘点间向量应用函数近似处理,从而边缘点部分可被保存为边缘点。更具体地,边缘点间向量函数近似(平滑化)单元320执行可将边缘点部分保存为贝塞尔曲线的锚点的贝塞尔函数近似,并生成被函数近似(被平滑化)的边缘点间向量。
如图8所示,边缘点间向量提取单元310包括边缘点间轮廓(周边)向量序列提取单元3110,和边缘点间线芯(周边)向量序列生成单元3120。
边缘点间轮廓(周边)向量序列提取单元3110输入保持四连续接合状态的被细化的区域边界图像。接下来,通过仅执行一次光栅扫描,边缘点间轮廓(周边)向量序列提取单元3110从被细化的处理对象的二值图像内包含的线图提取对应于连接边缘点和交点的独立线和闭合曲线的顺序向量的集合(下文被称为“边缘点间线元素粗轮廓向量序列”)。然后,边缘点间轮廓(周边)向量序列提取单元3110生成处理结果。
边缘点间轮廓(周边)向量序列提取单元3110生成的处理结果包括“分配信息”,其指示是否已经从对应于处理对象的线图的边缘点(交点)位置的部分提取出构成向量序列的每个向量。
此外,边缘点间线芯(周边)向量序列生成单元3120从边缘点间轮廓(周边)向量序列提取单元3110输入分配信息和边缘点间线元素粗轮廓向量序列(下文被总称为“边缘点间轮廓(周边)向量序列”)。然后,边缘点间线芯(周边)向量序列生成单元3120根据预定规则参照分配信息沿合适方向将构成轮廓(周边)向量的具有一个像素宽度的每个向量的位置精细调节等于一半像素的宽度。从而,边缘点间线芯(周边)向量序列生成单元3120可生成线宽度为0的边缘点间线芯(周边)向量序列。
图7C示出从输入图7B的二值图像的边缘点间轮廓(周边)向量序列提取单元3110生成的边缘点间轮廓(周边)向量序列显现的轮廓图像。图7D示出从输入图7C的图像的边缘点间线芯(周边)向量序列生成单元3120生成的边缘点间线芯(周边)向量序列显现的线图像。
如图8所示,边缘点间向量函数近似(平滑化)单元320包括边缘点间辅助向量引入(周边)向量序列生成单元3210、边缘点间辅助向量引入(周边)向量序列平滑化单元3220,和边缘点间被平滑化向量序列识别(非周边)单元3230。
边缘点间辅助向量引入(周边)向量序列生成单元3210从边缘点间线芯(周边)向量序列生成单元3120输入边缘点间线芯(周边)向量序列,并插入辅助向量以防止对应于边缘点部分的向量与另一个向量结合。换句话说,此处理可防止当边缘点间辅助向量引入(周边)向量序列平滑化单元3220执行平滑化(函数近似)处理时任何边缘点的位置变得不清楚。即,边缘点间辅助向量引入(周边)向量序列生成单元3210插入辅助向量,从而边缘点部分可被保存为边缘点(即贝塞尔曲线的锚点),并生成边缘点间辅助向量引入(周边)向量序列。
另外,边缘点间辅助向量引入(周边)向量序列生成单元3210为辅助向量引入的每个边缘点间辅助向量引入(周边)向量序列生成指示对应于边缘点部分的向量的起始/终点信息。
图7E示出从由输入图7D的图像的边缘点间辅助向量引入(周边)向量序列生成单元3210生成的边缘点间辅助向量引入(周边)向量序列显现的线图像。
边缘点间辅助向量引入(周边)向量序列平滑化单元3220从边缘点间辅助向量引入(周边)向量序列生成单元3210输入边缘点间辅助向量引入(周边)向量序列。然后,边缘点间辅助向量引入(周边)向量序列平滑化单元3220对每个(周边)向量进行平滑(函数近似)处理,并生成被平滑化的边缘点间辅助向量引入(周边)向量序列。此外,边缘点间辅助向量引入(周边)向量序列平滑化单元3220将生成的被平滑化的边缘点间辅助向量引入(周边)向量序列输出给边缘点间被平滑化向量序列识别(非周边)单元3230。
边缘点间被平滑化向量序列识别(非周边)单元3230从边缘点间辅助向量引入(周边)向量序列平滑化单元3220输入被平滑化(函数近似)的边缘点间辅助向量引入(周边)向量序列。此外,边缘点间被平滑化向量序列识别(非周边)单元3230从边缘点间辅助向量引入(周边)向量序列生成单元3210输入起始/终止边缘点信息。
然后,边缘点间被平滑化向量序列识别(非周边)单元3230为每个被平滑化(周边)的向量识别作为起始边缘点的向量和作为终止边缘点的向量,并生成连接起始边缘点和终止边缘点的非周边向量序列。
图7F示出从由输入图7E的图像的边缘点间被平滑化向量序列识别(非周边)单元3230生成的被平滑化的向量显现的线图。
返回参照图1,单独区域向量生成单元40将每个区域转换成包含周边被平滑化(函数近似)的边缘点间向量序列以及其内部颜色的区域向量。单独区域向量生成单元40基于从边缘点间向量生成单元30获得的被平滑化(函数近似)的边缘点间向量、指示由从被细化区域边界图像生成单元20获得的交点限定的邻接区域的区域号码信息,和从区域识别单元12获得的使每个区域和它的颜色信息(属性信息)相互关联的信息执行此处理。
单独区域向量生成单元40包括区域边界向量序列识别单元410和区域属性信息分配单元420。
区域边界向量序列识别单元410识别已经受到函数近似(平滑化)处理的围绕每个区域的边缘点间向量序列。区域边界向量序列识别单元410基于边缘点间向量生成单元30生成的被函数近似(平滑化)的边缘点间向量和从区域识别单元12获得的使每个区域和它的颜色信息(属性信息)相互关联的信息执行此处理。
区域属性信息分配单元420将内部颜色信息分配给围绕每个区域的被平滑化(函数近似)的边缘点间向量序列,并为每个区域生成包含周边被平滑化(函数近似)的边缘点间向量序列及其颜色信息。区域属性信息分配单元420基于区域边界向量序列识别单元410识别的每个区域的被平滑化(函数近似)的边缘点间向量序列和从区域识别单元12获得的使每个区域和它的颜色信息(属性信息)相互关联的信息执行此处理。
下文参照图9说明图1所示的图像处理装置的硬件配置。
图9示出根据本发明的第一示例性实施例的图像处理装置的硬件构造。
图像处理装置包括扫描器1、图像存储器2、图像输入/输出(I/O)3和连接图9内所示的各个构成组件的总线518。图像处理器2存储经由图像I/O 3从扫描器1输入的颜色信息。扫描器1、图像I/O 3和图像存储器2可实现图1内所示的彩色图像获取单元11。
图像存储器2存储区域识别单元12识别的包含局部区域的区域识别结果图像,每个局部区域由连续接合的像素构成并且可被看作同色区域。图像存储器2存储被细化区域边界图像生成单元20的边界线图像生成单元230生成的边界线图像,和通过对获得的边界线图像进行细化处理且同时保持四连续接合状态生成的四连续接合的被细化的区域边界图像。
这样,图像存储器2用作区域识别单元12、细化区域边界图像生成单元20和边缘点间向量生成单元30的一部分。
通信I/F4可经由网络与外部设备通信。中央处理单元(CPU)519与随机访问存储器(RAM)520和只读存储器(ROM)6相关联。RAM 520用作工作存储器。ROM 6存储程序和预定的参数和/或数据。CPU 519可根据预定的过程执行ROM 6内存储的程序。
图像存储器2、CPU 519、RAM 520和ROM 6配置图1内示出的区域识别单元12、细化区域边界图像生成单元20和边缘点间向量生成单元30。此外,图像存储器2实现单独区域向量生成单元40。
盘I/O(例如输入/输出电路)521设置用于硬盘装置522。
下文将参照图10说明图像处理装置的操作。
图10是示出根据本发明的第一示例性实施例的图像处理装置的操作的流程图。
CPU 519执行ROM 6内存储的程序以使图1内所示的图像处理装置实现图10的处理。
在步骤S11中,彩色图像获取单元11输入作为处理对象的彩色图像。接下来,区域识别单元12执行步骤S12和S13的处理。区域识别单元12执行区域划分处理(即将步骤S11内的图像输入划分成多个区域),并将区域划分处理的结果存储在RAM 520内。
更具体地,在步骤S12内,区域划分单元121基于颜色信息将图像分成多个像素集合。每个像素集合是由几何学上连接的相同颜色像素构成的区域。在步骤S13内,区域表生成单元122基于每个被划分的区域内包含的像素的颜色的均值获得每个被划分的区域的颜色信息(属性信息)。区域表生成单元122生成图2内所示的区域表201,并将区域表给201存储在RAM 520内。稍后将说明步骤S12内的区域划分处理的细节。
区域边界信息提取单元210执行步骤S21到S26的处理。区域边界信息提取单元210提取代表步骤S12内识别的区域之间的区域边界的边界像素,以及指示被边界像素划分的区域的区域边界信息。
在步骤S21中,当对包含局部区域的区域识别结果图像进行水平扫描操作时,水平边界点提取单元211在每条扫描线上提取代表邻接区域之间的边界的像素,每个局部区域由连续接合的像素构成并且可被看作同色区域。即,水平边界点提取单元211提取在一个局部区域沿水平方向切换到另一个局部区域之处的像素。在步骤S22,水平边界点表生成单元212参照每个被提取的代表水平边界点的像素的坐标值和邻接区域号码生成水平边界点表401(图4)。
在步骤S23中,当对包含局部区域的区域识别结果图像进行垂直扫描操作时,垂直边界点提取单元213在每条扫描线上提取代表邻接区域之间的边界的像素,每个局部区域由连续接合的像素构成并且可被看作同色区域。即,垂直边界点提取单元213提取在一个局部区域沿垂直方向切换到另一个局部区域之处的像素。在步骤S24,垂直边界点表生成单元214参照每个被提取的代表垂直边界点的像素的坐标值和邻接区域号码生成垂直边界点表402(图4)。
在步骤S25中,当对包含局部区域的区域识别结果图像进行对角线扫描操作时,对角线边界点提取单元215在每条扫描线上提取代表邻接区域之间的边界的像素,每个局部区域由连续接合的像素构成并且可被看作同色区域。即,对角线边界点提取单元215提取在一个局部区域沿对角线方向切换到另一个局部区域之处的像素。在步骤S26,对角线边界点表生成单元216参照每个被提取的代表对角线边界点的像素的坐标值和邻接区域号码生成对角线边界点表403(图4)。
稍后将说明步骤S21、S23和S25内的边界点提取处理的细节。
交点信息生成单元220执行步骤S30和S31的处理。交点信息生成单元220生成对应于由四连续接合区域边界像素构成的区域边界线的分支点的区域边界线的交点的信息。
在步骤S30中,交点识别单元221参照水平边界点表401、垂直边界点表402和对角线边界点表403提取交点。
更具体地,交点识别单元221在表401-403中的至少两个表上列出的边界点中参照表401-403检测任何具有三个或更多个区域号码的边界点。交点识别单元221将检测到的边界点看作是交点(交点信息)。
三个表中的两个或更多个内存在的边界点可以是水平边界点表401和垂直边界点表402上都列出的边界点、水平边界点表401和对角线边界点表403上都列出的边界点、垂直边界点表402和对角线边界点表403上都列出的边界点,或水平边界点表401、垂直边界点表和对角线边界点表上都列出的边界点中的任何一个。
在步骤S31中,交点表生成单元222基于步骤S30内识别出的交点生成交点表给601。
更具体地,交点表生成单元222选取水平边界点表401、垂直边界点表402和对角线边界点表403上列出的所有邻接区域号码。然后,交点表生成单元222生成图6内所示的交点表601,该表指示对应于交点的邻接区域的所有区域号码。
稍后将说明步骤S30的交点提取处理的细节。
边界线图像生成单元230和边缘点间向量生成单元30执行步骤S50到S80的处理,其包括基于步骤S12内生成的区域边界信息和步骤S30内的交点信息生成被细化的区域边界图像,以及生成每个边缘点间向量。
首先,在步骤S50内,边界线图像绘制单元231基于区域边界信息生成由四连续接合区域边界像素构成的边界线位图图像(即边界线图像)。在步骤S60中,边界线图像细化单元232从该四连续接合边界线图像生成被细化的区域边界图像。在步骤S70中,边缘点间向量生成单元30从被细化的区域边界图像为每个连接一个交点和另一个交点的边界线图像连续生成边缘点间向量。
在步骤S80,确定是否已经针对所有边界线完成边缘点间向量生成处理。在此处理中,如果还没有针对连接步骤S31内生成的交点表601上列出的一个交点和另一个交点的边界线的所有图像完成边缘点间向量生成处理(步骤S80内的NO),则可确定还存在需要处理的边界线。在此情况下,过程流返回步骤S50以重复上述处理。另一方面,如果已经针对连接一个交点和另一个交点的边界线的所有图像完成边缘点间向量生成处理,则可确定不存在需要处理的边界线。过程流转到步骤S100。
步骤S50的边界线位图生成处理包括从图4所示的边界点表401-403上列出的水平边界点、垂直边界点和对角线边界点中针对每个希望的区域边界连续检索具有相同邻接区域号码的边界点,并基于检测到的边界点生成位图图像。
即,该处理包括例如从水平边界点表401、垂直边界点表402和对角线边界点表403检索其的处理复选标记还没有被复选的任何边界点。该处理包括绘制其的处理复选标记还没有被复选的第一边界点。该处理包括从水平边界点表401、垂直边界点表402和对角线边界点表403中检索具有与第一边界点相同的邻接区域号码组合的边界点。该处理包括将满足条件的所有边界点绘制成在通过区域号码的组合识别的两个区域之间的边界线。
该处理包括在各个边界点表401-403上复选(设定标记)对应于已经被绘制成边界线的每个边界点(即,已经被进行边界线位图处理的边界点)的处理检查标记字段(未示出)。如果不存在其的处理检查标记没有被复选的边界点,则可确定生成包含所有边界点的位图图像。
在此处理中绘制的边界点的位图图像例如是如图50E内所示的具有阴影图案的像素(1)指示的连接两个交点的四连续接合区域。但是,线图像宽度并不局限于单像素宽度。线图像部分地可具有2像素宽度。
步骤S60的边界线图像细化处理包括对步骤S50获得的边界线位图图像(二值图像)应用合适的二值图像细化处理,并输出四连续接合的被细化的二值图像。
接下来,下文将说明步骤S70的边缘点间向量生成处理。
如上文所述,边缘点间向量生成单元30执行步骤S70的处理。即,边缘点间向量生成单元30从被细化的区域边界图像连续为每个连接一个交点和另一个交点的边界线图像生成边缘点间向量。
如图8所示,边缘点间向量生成单元30包括边缘点间向量提取单元310和边缘点间向量函数近似(平滑化)单元320。边缘点间向量提取单元310包括边缘点间轮廓(周边)向量序列提取单元3110和边缘点间线芯(周边)向量序列生成单元3120。边缘点间向量函数近似(平滑化)单元320包括边缘点间辅助向量引入(周边)向量序列生成单元3210,边缘点间辅助向量引入(周边)向量序列平滑化单元3220和边缘点间被平滑化向量序列识别(非周边)单元230。
下文,参照图11到27说明边缘点间轮廓(周边)向量序列提取单元3110的处理的细节。
如图11所示,二值图像包含目标像素101和八个邻接像素。第一示例性实施例通过将目标像素依次移动一个像素在整个图像内执行光栅扫描。
在图11中,“×”代表目标像素101。两个像素“0”和“2”以及目标像素101沿主扫描方向位于相同位置。像素“0”位于沿副扫描方向在目标像素101之上一个光栅处。像素“2”位于沿副扫描方向在目标像素101之下一个光栅处。两个像素“1”和“3”以及目标像素101位于相同光栅位置。像素“3”位于在相同光栅线上在目标像素101之前一个像素处。像素“1”位于在相同光栅线上在目标像素101之后一个像素处。
此外,两个像素“A”和“B”位于沿主扫描方向在目标像素101之后一个像素处。像素“A”位于目标像素101之上一个光栅处。像素“B”位于目标像素101之下一个光栅处。两个像素“C”和“D”位于沿主扫描方向在目标像素101之前一个像素处。像素“D”位于目标像素101之上一个光栅处。像素“C”位于目标像素101之下一个光栅处。
下文说明基于目标像素101和八个邻接像素执行的示例性处理。
如果目标像素101是白色像素,则边缘点间轮廓(周边)向量序列提取单元3110终止该处理,并对下一条线开始光栅扫描(将目标像素位置更新一个像素)。
如果目标像素101是黑色像素,则边缘点间轮廓(周边)向量序列提取单元3110根据邻接像素的状态执行以下处理。图12到27示出各种状态下的示例性处理内容。在图12到27中,具有对角线方格图案的标记“o”代表黑色像素,而虚线标记“o”代表白色像素。位于由“d”(即不关心)指示的像素位置的像素代表白色像素或黑色像素。
在图12到27的每个像素矩阵中,标记“●”代表横向向量的起点而标记“o”代表垂直向量的终点。标记“▲”代表垂直向量的起点而标记“△”代表横向向量的终点。连接向量的起点和终点的实线箭头代表其的起点和终点均被固定的轮廓向量。虚线箭头代表只有起点和终点之一被固定的轮廓向量。在本实施例中,这些轮廓向量的起点和终点被称为“轮廓点”。图12、17和22内的像素矩阵图案不包括轮廓向量。
标记“●”和“▲”代表从边缘点部分提取的向量的起点和终点。标记“●”代表从边缘点部分提取的横向向量的起点和垂直向量的终点。标记“▲”代表从边缘点部分提取的垂直向量的起点和横向向量的终点。
图28示出被分配给从图12-27中的任何一个所示的像素矩阵提取的每个轮廓点的轮廓点信息的表。轮廓点信息用作分配信息。
图28的表包括总共16个表示为“xxx_yyy_zzz”或“xxx_yyy”形式的轮廓点信息。部分“xxx”指示具有由轮廓点限定的终点的向量的方向。部分“yyy”指示具有由轮廓点限定的起点的向量的方向。UP指示向上方向,DOWN指示向下方向,RIGHT指示向右方向,LEFT指示向左方向。例如,轮廓点No.01到No.03具有向上向量的起点和向右向量的起点。
部分“_zzz”指示具有此分配信息的轮廓点是从边缘点部分提取的,并且在图28内的边缘点信息字段内被描述。例如,_TR指示轮廓点是从线元素的上端部的右侧(Top right)提取的边缘点(参见图29A),而_LT指示轮廓点是从线元素的左端部的上部(Left Top)提取的边缘点(参见图29B)。
此外,_RB指示轮廓点是从线元素的右端部的下部(RightBottom)提取的边缘点(参见图29C),而_BR指示轮廓点是从线元素的下端部的右侧(Bottom Right)提取的边缘点(参见图29D)。
此外,_LB指示轮廓点是从线元素的左端部的下部(LeftBottom)提取的边缘点(参见图29B),而_BL指示轮廓点是从线元素的下端部的左侧(Bottom Left)提取的边缘点(参见图29D)。
另外,_RT指示轮廓点是从线元素的右端部的上部(Right Top)提取的边缘点(参见图29C),而_TL指示轮廓点是从线元素的上端部的左侧(Top Left)提取的边缘点(参见图29A)。
图30A到30D示出从非边缘点部分(即线元素的非边缘部分)提取的轮廓点的示例,该轮廓点的轮廓信息不包括“_zzz”部分。
如果目标像素是黑色像素,则用于根据邻接像素的状态从图12到27中所示的各种状态提取轮廓点和分配信息的实际处理可参考图28内所示的轮廓点信息的“数值”字段内的对应位置列出的数值执行。
在图30A到30D中,具有对角线方格图案的标记“o”指示黑色像素,而虚线标记“o”指示白色像素。
轮廓向量的起点/终点位置沿主扫描方向和副扫描方向均位于两个像素之间的中间位置。正整数的二维坐标表示沿主扫描方向和副扫描方向的像素位置。
本实施例使用偶数表示像素位置,而使用奇数表示起点和终点的位置。在本实施例中,可使用2m×2n正偶数(整数)的坐标表达式来表示由m个像素×n个像素构成的图像。本实施例使用具有对应于主扫描方向的x坐标和对应于副扫描方向的y坐标的二维坐标系统。本实施例将二值图像表示为m(像素)×n(光栅)的矩阵,其中m和n都是正整数。此外,(2i,2j)表示第j个光栅的第i个像素的像素位置,其中i和j是满足“i≤m”和“j≤n”关系的正整数。x坐标值沿主扫描方向从左至右增加,而y坐标沿副扫描方向自上而下增加。
参照图31A到33说明边缘点间轮廓(周边)向量序列提取单元3110的操作。
与美国专利号6404921不同,第一示例性实施例检测四连续接合的被细化的二值图像的边缘点和/或交点,并提取一组与各个线分量对应的独立向量作为连接边缘点和/或交点的相互独立的线元素或闭合曲线的集合。另外,第一示例性实施例提取分配给每个轮廓点的轮廓点信息。此外,如从图11到27显而易见的,第一示例性实施例使用3×3像素矩阵模式的处理对象。但是,类似于美国专利号6404921,第一示例性实施例使用由9个像素构成的3×3扫描窗口对图像执行光栅扫描处理,并基于3×3像素矩阵模式内包含的目标像素和8个邻接像素的状态依次提取轮廓点。第一示例性实施例在从每个3×3像素矩阵模式提取轮廓点和轮廓点信息方面与美国专利号6404921不同。
图31A是示出根据本发明的第一示例性实施例的边缘点间轮廓(周边)向量提取处理的流程图,其可用图像处理装置的CPU 519执行。根据本实施例的边缘点间轮廓(周边)向量提取处理类似于美国专利号6404921内讨论的图22的流程图实现的处理。但是,美国专利号6404921没有使用轮廓点信息。第一示例性实施例将轮廓点信息看作是分配给每个被提取的轮廓点的属性信息。此外,第一示例性实施例将从美国专利号6404921提取的各个轮廓点的轮廓点连接信息看作是每个轮廓点的信息的一部分。
如果每个轮廓点数据的数据格式具有不仅包含轮廓点的坐标值而且还包括轮廓点数据的数据结构,则此处理可容易地实现。
首先,在步骤S1中,CPU 519执行向量序列提取处理。CPU 519从二值图像和与每个轮廓点相关联的轮廓点信息提取向量序列。然后,CPU 519输出图31B和31C的表,该表指示每个向量的起点的坐标值、流入此向量的任何向量(即终点与此向量的起点相同的向量)、和流出此向量的任何向量(即起点与此向量的终点相同的向量)。
在步骤S2中,CPU 519跟随图31B和31C内所示的表内的流入和流出向量的项号。CPU 519生成图32内示出的向量序列表3201,该向量序列表指示图像内包含的轮廓线的总数、每条轮廓线上的点的总数、轮廓线上的每个点的x坐标/y坐标和每个点的轮廓点信息的组合。
在步骤S3中,CPU 519经由盘I/O 521将包含向量序列表3201的信息的文件存储在硬盘装置522内,并终止顺序操作。此文件构成图像内包含的单独区域的向量数据。
图33是示出根据本发明的第一示例性实施例的图31A的步骤S1内的向量序列提取处理的细节的流程图。
首先,在步骤S110内,CPU 519确定目标像素是白色像素还是黑色像素。如果目标像素是白色像素(步骤S110内NO),则处理流前进到步骤S130。如果目标像素是黑色像素(步骤S110内YES),则处理流前进到步骤S120。
在步骤S120中,CPU 519基于围绕目标像素的八个像素的状态执行处理。下文将参照图34进一步详细说明处理围绕目标像素的八个像素的状态的细节(步骤S120)。
在步骤S130中,CPU 519更新像素位置。然后,在步骤S140中,CPU 519确定对最后像素的处理是否已经完成。如果对最后像素的处理还没有完成(步骤S140内NO),则处理流返回步骤S110以对下一个目标像素执行上述处理。如果对最后像素的处理已经完成(步骤S140内YES),则处理流前进到图31A的步骤S2。
下文基于图12内所示的状态(情况0)说明步骤S1内的向量序列提取处理的示例。目标像素(即图12的中心像素)具有坐标(2i,2j) 。
首先,CPU 519将(2i-1,2j-1)登记为水平向量的起点。更具体地,CPU 519将(2i-1)存储到表字段1231内,该表字段指示图31B内的水平向量轮廓1230指示的水平向量的起点的x坐标值。类似地,CPU 519将(2j-1)存储在指示该水平向量的起点的y坐标值的表字段1232内。流入此水平向量的源垂直向量是紧邻当前由图31C内的垂直向量计数器1240指示的垂直向量存储在起点坐标表内的向量。流出此水平向量的目的垂直向量位于当前由垂直向量计数器1240指示的垂直向量的起点坐标表位置。
即,CPU 519将1和垂直向量计数器1240内的值之和存储在图31B内所示的水平向量的流入向量项号字段的位置1233。此外,CPU519将垂直向量计数器1240内的值存储在水平向量的流出向量项号字段的位置1234。
接下来,CPU 519将(2i+1,2j+1)登记为垂直向量的起点。CPU519将流入此垂直向量的源水平向量登记为已经被登记的水平向量。CPU 519将流出此垂直向量的目的水平向量登记为紧邻已经被登记在水平向量的起点坐标表内的第一水平向量存储的水平向量。
即,根据图31C所示的示例,CPU 519将(2i+1)存储在字段1241,将(2i-1)存储在字段1242,将水平向量计数器1230内的当前值存储在字段1243,并将1和水平向量计数器1230内的当前值之和存储在字段1244。
接下来,CPU 519增加水平垂直向量1230的内容(即加1)。接下来,CPU 519将(2i+1,2j+1)登记为水平向量的起点坐标。CPU519将流入此水平向量的源垂直向量登记为已经被登记的第二向量。CPU 519将流出此水平向量的目的垂直向量登记为存储在已经被登记的第二垂直向量的起点坐标表内的下一个位置的垂直向量。
接下来,CPU 519增加垂直向量计数器1240的值(即加1)。接下来,CPU 519将(2i-1,2j+1)登记为垂直向量的起点坐标值。CPU 519将流入此垂直向量的源水平向量登记为已经被登记的第三水平向量。CPU 519将流出此垂直向量的目的水平向量登记为已经被登记的第四水平向量。这样,CPU 519增加水平向量计数器1230和垂直向量计数器1240的内容(即加1),并终止该处理。
图34是示出根据本发明的第一示例性实施例的图33的步骤S120内的处理的细节的流程图。
在步骤S120中,CPU 519将寄存器清除为“0”。接下来,在步骤S220内,CPU 519确定图11内的像素“0”(被称为f(0))的状态是否是黑色像素(用“1”表示)。即,CPU 519确定f(0)是否等于1。如果f(0)等于1(步骤S220内YES),则处理流前进到步骤S230,其中CPU 519将寄存器的内容加1。如果f(0)等于0,即如果像素“0”的状态为白色像素(步骤S220内NO),则处理流前进到步骤S240。
在步骤S240中,CPU 519确定图11内的像素“1 ”的状态是否是黑色像素。即,CPU 519确定f(1)是否等于1。如果f(1)等于1(步骤S240内YES),则处理流前进到步骤S250,其中CPU 519将寄存器的内容加2。如果f(1)等于0(步骤S240内NO),则处理流前进到步骤S260。
在步骤S260中,CPU 519确定图11内的像素“2”的状态是否是黑色像素。即,CPU 519确定f(2)是否等于1。如果f(2)等于1(步骤S260内YES),则处理流前进到步骤S270,其中CPU 519将寄存器的内容加4。如果f(2)等于0(步骤S260内NO),则处理流前进到步骤S280。
在步骤S280中,CPU 519确定图11内的像素“3”的状态是否是黑色像素。即,CPU 519确定f(3)是否等于1。如果f(3)等于1(步骤S280内YES),则处理流前进到步骤S290,其中CPU 519将寄存器的内容加8。如果f(3)等于0(步骤S260内NO),则处理流前进到步骤S300。
在步骤S300中,CPU 519基于寄存器内保持的值(处理号)执行处理。
如图12(情况0)到图27(情况15)所示,根据图11内的每个像素“0”、“1”、“2”和“3”的状态,寄存器的内容为0到15中的任何一个。
即,在步骤S300中,CPU 519提取图12到27内限定的轮廓点和相关联的轮廓点信息。
这样,边缘点间轮廓(周边)向量序列提取单元3110执行一次完整的光栅扫描操作。因此,边缘点间轮廓(周边)向量序列提取单元3110提取对应于连接输入的四连续接合被细化的二值图像(线图)内包含的边缘点或交点的单独的线或闭合曲线的向量序列的集合(“边缘点间线元素粗轮廓向量序列”)以及相关联的轮廓点信息,并输出处理结果。
图32示出示例性处理结果,该结果包括从各个线元素为第一轮廓、第二轮廓和第a个轮廓提取的向量序列的集合,以及与每个轮廓点相关联的轮廓点信息。
图35示出线图、从线图提取的边缘点间轮廓(周边)向量序列即边缘点间线元素粗轮廓向量序列(粗线表示的向量序列)以及轮廓点信息的示例性记录。
图36是示出根据本发明的第一示例性实施例的边缘点间线芯(周边)向量序列生成单元3120的示例性操作的流程图。图像处理装置的CPU 519实现此处理。
在步骤S1000中,边缘点间线芯(周边)向量序列生成单元3120从边缘点间轮廓(周边)向量序列提取单元3110输入边缘点间轮廓(周边)向量序列。边缘点间轮廓(周边)向量序列是对应于连接边缘点和/或交点的独立线或闭合曲线的向量序列的集合,其包括指示向量是否是从对应于线图的边缘点(交点)位置的部分提取的信息(分配信息)。向量序列的集合是“边缘点间线元素粗轮廓向量序列”。
在步骤S1100,边缘点间线芯(周边)向量序列生成单元3120从步骤S1000的边缘点间轮廓(周边)向量序列输入一个向量序列(即图32内的第k个轮廓(1≤k≤a))作为当前处理对象,该向量序列具有图32内所示的数据格式。边缘点间线芯(周边)向量序列生成单元3120重复步骤S1100以按升序一个接一个地输入向量序列。
在步骤S1200,边缘点间线芯(周边)向量序列生成单元31 20输入一个向量即步骤S1100内确定的向量序列(点的总数;p)中的一个向量的轮廓点(第q个点(1≤q≤p))作为当前处理对象。边缘点间线芯(周边)向量序列生成单元3120重复步骤S1200以按升序一个接一个地输入向量。
在步骤S1300,边缘点间线芯(周边)向量序列生成单元3120参照步骤S1200内确定的轮廓点的轮廓点信息确定其终点与该轮廓点相同的向量或其起点与该轮廓点相同的向量是否指向左。如果向量的方向是LEFT(步骤S1300内的YES),则处理流前进到步骤S1400。如果向量的方向不是LEFT(步骤S1300内的NO),则处理流前进到步骤S1500。
在步骤S1400中,边缘点间线芯(周边)向量序列生成单元3120将轮廓点的y坐标值减1。当坐标值(x,y)是(2*i,2*j)时,边缘点间线芯(周边)向量序列生成单元3120计算y=2*j-1。即,边缘点间线芯(周边)向量序列生成单元3120使轮廓点的y坐标值沿副扫描方向朝原点移动半个像素宽度。然后,处理流前进到步骤S1600。
在步骤S1500,边缘点间线芯(周边)向量序列生成单元3120将轮廓点的y坐标值加1。即,边缘点间线芯(周边)向量序列生成单元3120计算y=2*j+1,以使轮廓点的y坐标值沿副扫描方向朝与原点相反的方向移动半个像素宽度。然后,处理流前进到步骤S1600。
在步骤S1600,边缘点间线芯(周边)向量序列生成单元3120参照步骤S1200内确定的轮廓点的轮廓点信息确定其终点与该轮廓点相同的向量或其起点与该轮廓点相同的向量是否指向上。如果向量的方向是UP(步骤S1600内的YES),则处理流前进到步骤S1700。如果向量的方向不是UP(步骤S1600内的NO),则处理流前进到步骤S1800。
在步骤S1700中,边缘点间线芯(周边)向量序列生成单元3120将轮廓点的x坐标值加1。即,边缘点间线芯(周边)向量序列生成单元3120计算x=2*i+1,以使轮廓点的x坐标值沿主扫描方向朝与原点相反的方向移动半个像素宽度。然后,处理流前进到步骤S1900。
在步骤S1800,边缘点间线芯(周边)向量序列生成单元3120将轮廓点的x坐标值减1。即,边缘点间线芯(周边)向量序列生成单元3120计算x=2*i-1,以使轮廓点的x坐标值沿主扫描方向朝原点移动半个像素宽度。然后,处理流前进到步骤S1900。
在步骤S1900中,边缘点间线芯(周边)向量序列生成单元3120确定是否已经对步骤S1100内确定的向量序列内的所有轮廓点完成了步骤S1200到S1800的处理。如果已经完成了对所有轮廓点的处理(步骤S1900内YES),在处理流前进到步骤S2000。如果没有完成对所有轮廓点的处理(步骤S1900内NO),则处理流返回步骤S1200以便对向量序列内的下一个向量进行处理。
在步骤S2000中,边缘点间线芯(周边)向量序列生成单元3120确定是否已经对步骤S1000内输入的边缘点间线元素粗轮廓向量序列内的所有向量序列完成了上述处理。如果没有完成对所有向量序列的处理(步骤S2000内YES),则处理流前进到步骤S2100。如果没有完成对所有轮廓点的处理(步骤S2000内NO),则处理流返回步骤S1100以便对下一个向量序列执行步骤S1200到S2000的处理。
在步骤S2100中,边缘点间线芯(周边)向量序列生成单元3120输出步骤S1000内的边缘点间线元素粗轮廓向量序列的处理结果。
步骤S1300或步骤S1600内的确定是基于图28内示出的上述轮廓点信息的“值”字段的数值执行的。因此,如果位0代表被表示为二进制值的数值的最低有效位(LSB)而位7代表最高有效位(MSB),则边缘点间线芯(周边)向量序列生成单元3120在步骤S1300内检查位2(即图28内的“向右(0)向左(1)”字段),并且如果位2为1则向量的方向为LEFT。在步骤S1600中,边缘点间线芯(周边)向量序列生成单元3120检查位3(图28内的“向上(0)向下(1)”字段),并且如果位3为0则向量的方向为UP。
这样,边缘点间线芯(周边)向量序列生成单元3120从边缘点间轮廓(周边)向量序列提取单元3110输入边缘点间轮廓(周边)向量序列。然后,边缘点间线芯(周边)向量序列生成单元3120根据预定规则参照分配信息沿合适的方向将构成轮廓(周边)向量的具有一个像素宽度的每个向量的位置精细调节等于一半像素的宽度。因此,边缘点间线芯(周边)向量序列生成单元3120可生成线宽度为0的边缘点间线芯(周边)向量序列。例如,生成的边缘点间线芯(周边)向量序列可使用图32内所示的数据格式表示。边缘点间线芯(周边)向量序列生成单元3120可输出具有图32内所示的数据格式的边缘点间线芯(周边)向量序列。
图35示出边缘点间线芯粗轮廓向量序列(即使用粗线表示的向量序列)和线宽度为0的边缘点间线芯(周边)向量序列(即,使用连接输入二值图像的像素位置的细线的向量序列)。
接下来,说明边缘点间辅助向量引入(周边)向量序列生成单元3210的示例性操作。
边缘点间辅助向量引入(周边)向量序列生成单元3210在边缘点间辅助向量引入(周边)向量序列平滑化单元3220执行平滑化(函数近似)处理之前插入辅助向量。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210插入辅助向量,从而边缘点部分可被保存为边缘点(即贝塞尔曲线的锚点)。此处理可防止对应于边缘点部分的向量与另一个向量结合,并且可防止当边缘点间辅助向量引入(周边)向量序列平滑化单元3220执行平滑化(函数近似)处理时任何边缘点的位置变得不清楚。
另外,边缘点间被平滑化向量序列识别(非周边)单元3230基于从边缘点间辅助向量引入(周边)向量序列平滑化单元3220输入的被平滑化(函数近似)的边缘点间辅助向量引入(周边)向量序列生成起始/终止边缘点信息。更具体地,边缘点间被平滑化向量序列识别(非周边)单元3230从每个被平滑化(周边)向量中识别用作起始边缘点的向量和用作终止边缘点的向量,并为每个被平滑化(周边)向量生成起始/终止边缘点信息,该信息可用于生成仅将起始边缘点连接到终止边缘点的非周边向量序列。
在第一示例性实施例中,边缘点间辅助向量引入(周边)向量序列平滑化单元3220的配置类似于美国专利申请公开号US2005/0238244 A1内所述的配置。此配置使得对于可能还没有被细化的二值图像的轮廓(外形)向量,可使用平滑化单元对整个细化线图像的向量进行平滑化。
根据美国专利申请公开号US 2005/0238244 A1,向量平滑化(函数近似)处理包括输入由交替的从二进制光栅图像数据提取的水平和垂直向量构成的轮廓数据(粗略轮廓数据),从粗轮廓的线段提取切线线段,从提取的切线线段中提取锚点,并用2阶或3阶贝塞尔曲线和直线的组合或者已经进行贝塞尔曲线近似的2阶或3阶贝塞尔曲线代替连接提取出的锚点的一组线段。
用于基于确定出的锚点对位于两个锚点之间的一组轮廓点进行函数近似的方法是基本函数近似方法。即使在位于两个锚点之间的轮廓点被函数近似为2阶或3阶贝塞尔曲线或直线时,每个锚点的位置(坐标值)也不会改变。
因此,边缘点间辅助向量引入(周边)向量序列生成单元3210将边缘点间线芯(周边)向量序列的一个边缘点指定为起始边缘点而将另一个边缘点指定为终止边缘点,并在起始边缘点和终止边缘点之间插入辅助向量(辅助轮廓点),以便起始边缘点和终止边缘点都变为锚点。
根据美国专利申请公开号US 2005/0238244 A1,代表切线线段的向量的提取条件如下:
(1)就在目标向量之前和之后安置的两个向量具有相反方向;
(2) 与被提取的主切线线段相邻的向量的长度L1满足关系“L1≥θ4”;以及
(3)向量长度L2满足关系“L2≥θ5”。
此外,锚点的提取包括从提取出的切线线段中提取新的点,并将每个提取出的点指定为锚点。可从切线线段的两个边缘提取两个锚点。如果两个提取出的锚点彼此相同,则只能提取一个锚点。
如果提取两个锚点,则两个锚点之间的部分被自动指定为对象上的直线。作为用于从切线线段的一个边缘点提取锚点的方法,如果目标向量的邻接向量(目标切线线段)是切线线段,则邻接向量的边缘点是锚点。
因此,边缘点间辅助向量引入(周边)向量序列生成单元3210将边缘点间线芯(周边)向量序列的一个边缘点指定为起始边缘点,而将另一个边缘点指定为终止边缘点,并插入辅助点以便起始边缘点和终止边缘点都变成锚点。
图37A示出用于就在将成为起始边缘点的边缘点P0之前插入辅助轮廓点P-1的示例性方法。
辅助向量V-1包含辅助轮廓点P-1作为起点。向量V1包括就在边缘点P1之后的轮廓点P0作为起点。因此两个向量V-1和V1具有相反方向。换句话说,图37A内示出的三个向量V-1、V0和V1可满足上述的美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(1)。因此,向量V0成为切线线段。
此外,如果从辅助轮廓点P-1开始的辅助向量V-1具有足够的满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(3)的长度,则辅助向量V-1也成为切线线段。即,辅助向量V-1和向量V0都成为切线线段。结果,边缘点P0(即将成为起始边缘点的点)根据上述锚点提取方法中的条件成为锚点(即,如果目标向量(即目标切线线段)的邻接向量是切线线段,则邻接向量的边缘点成为锚点)。
图37B示出用于就在将成为终止边缘点的边缘点Pn之后插入辅助轮廓点Pn+1的示例性方法。
辅助向量Vn包含辅助轮廓点Pn+1作为终点。向量Vn-2包括轮廓点Pn-1作为终点。因此两个向量Vn和Vn-2具有相反方向。换句话说,图37B内示出的三个向量Vn-2、Vn-1和Vn可满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(1)。因此,向量Vn-1成为切线线段。此外,如果以辅助轮廓点Pn+1结束的辅助向量Vn具有足够的满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(3)的长度,则辅助向量Vn也成为切线线段。
即,辅助向量Vn和向量Vn-1都成为切线线段。结果,边缘点Pn(即,将成为终止边缘点的点)根据上述锚点提取方法中的条件成为锚点(即,如果目标向量(即目标切线线段)的邻接向量是切线线段,则邻接向量的边缘点成为锚点)。
这样,边缘点间辅助向量引入(周边)向量序列生成单元3210确定将就插在起始边缘点之前的点和将就插在终止边缘点之后的点,从而起始边缘点和终止边缘点成为锚点。然后,边缘点间辅助向量引入(周边)向量序列生成单元3210生成由连接该插入点的连续接合水平和垂直向量构成的轮廓点序列,其包括固有的从该起始边缘点延伸到该终止边缘点的轮廓点序列和新增加的从该起始边缘点经由该插入点延伸到该终止边缘点的部分。此外,边缘点间辅助向量引入(周边)向量序列生成单元3210生成起始/终止边缘点信息,该信息识别轮廓点序列内的起始边缘点和终止边缘点。
在第一示例性实施例中,起始/终止边缘点信息包括起始边缘点的坐标值和终止边缘点的坐标值。
图38是示出根据本发明的第一示例性实施例的边缘点间辅助向量引入(周边)向量序列生成单元3210的示例性操作的流程图。图像处理装置的CPU 519实现此处理。
首先,在步骤S3000,边缘点间辅助向量引入(周边)向量序列生成单元3210从边缘点间线芯(周边)向量序列生成单元3120输入线宽度为0的边缘点间线芯(周边)向量序列。
在步骤S3100,边缘点间辅助向量引入(周边)向量序列生成单元3210从步骤S3000内的边缘点间线芯(周边)向量序列输入中依次确定一个向量序列(图32内的第k个轮廓点(1≤k≤a))为当前处理对象,该向量序列具有图32内所示的数据格式。
在步骤S3200,边缘点间辅助向量引入(周边)向量序列生成单元3210输入一个向量即步骤S3100内确定的向量序列(点的总数:p)中的一个向量(第q个点(1≤q≤p))的轮廓点作为处理对象。步骤S3200的处理包括每次执行步骤S3200的处理时,从第一点到第p个点按升序依次选择处理对象,直到在步骤S3300内检测到起始边缘点。
在步骤S3300,边缘点间辅助向量引入(周边)向量序列生成单元3210参照步骤S3200内确定的轮廓点的轮廓点信息确定轮廓点是否是将成为起始边缘点的向量。如果轮廓点是将成为起始边缘点的向量(步骤S3300内YES),则处理流前进到步骤S3600。如果轮廓点不是将成为起始边缘点的向量(步骤S3300内NO),处理流前进到步骤S3400。
步骤S3300的确定可参照轮廓点的轮廓点信息执行。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定轮廓点是否是图28内的UP_RIGHT_LT(03H)、DOWN_LEFT_RB(0FH)、LEFT_UP_BL(17H)和RIGHT_DOWN_TR(1BH)中的任何一个。此处理可通过检查图28的“值”字段内的位1和位0的数值是否都为1来实现。
在步骤S3400,边缘点间辅助向量引入(周边)向量序列生成单元3210确定是否已经完成对步骤S3100内的边缘点间线芯(周边)向量序列输入中的一个向量序列的所有向量的处理。如果还没有完成对一个向量序列的所有向量的处理(步骤S3400中NO),则处理流返回步骤S3200以对向量序列内的下一个向量执行步骤S330内的确定。如果已经完成对一个向量序列的所有向量的处理(步骤S3400内YES),则可确定步骤S3100内的向量序列输入不包括起始边缘点候选。处理流前进到步骤S3500。
在步骤S3500,边缘点间辅助向量引入(周边)向量序列生成单元3210为向量序列分配一个闭环标记。闭环标记指示向量序列是不包含边缘点的闭环。边缘点间辅助向量引入(周边)向量序列生成单元3210直接输出该向量序列的顺序向量。
图39A示出向量序列的数据格式,根据该数据格式第s个向量序列是包含总共v个向量的处理对象。两个闭环标记具有(-1,-1)的边缘点坐标,其被分配为起始/终止边缘点信息,尽管这些坐标值不存在。当步骤S3500的处理完成时,处理流前进到步骤S4200。
在步骤S3600,边缘点间辅助向量引入(周边)向量序列生成单元3210将轮廓点登记为起始边缘点,并输出该轮廓点作为一个从该起始边缘点延伸到该终止边缘点的向量。然后,处理流前进到步骤S3700。
在步骤S3700,类似于步骤S3200,边缘点间辅助向量引入(周边)向量序列生成单元3210输入一个向量即步骤S3100内确定的向量序列(点的总数:p)中的一个向量的轮廓点(第q个点(1≤q≤p))作为处理对象。步骤S3700的处理包括每次执行步骤S3700的处理时,从步骤S3200内确定的轮廓点朝第p个点按升序依次选择处理对象,直到在步骤S3800内检测到终止边缘点。然后,处理流前进到步骤S3800。
在步骤S3800,边缘点间辅助向量引入(周边)向量序列生成单元3210参照步骤S3700内确定的轮廓点的轮廓点信息确定轮廓点是否是将成为终止边缘点的向量。如果轮廓点是将成为终止边缘点的向量(步骤S3800内YES),则处理流前进到步骤S4000。如果轮廓点不是将成为终止边缘点的向量(步骤S3800内NO),处理流前进到步骤S3900。
步骤S4000的确定可参照轮廓点的轮廓点信息执行。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定轮廓点是否是图28内的UP_RIGHT_TL(01H)、DOWN_LEFT_BR(0DH)、LEFT_UP_LB(15H)和RIGHT_DOWN_RT(19H)中的任何一个。此处理可通过检查图28的“值”字段内的位1和位0的数值为0和1来实现。
在步骤S3900,边缘点间辅助向量引入(周边)向量序列生成单元3210输出轮廓点作为一个从该起始边缘点延伸到该终止边缘点的向量。然后,处理流返回步骤S3700。
在步骤S4000,边缘点间辅助向量引入(周边)向量序列生成单元3210将轮廓点登记为终止边缘点,并输出该轮廓点作为一个从该起始边缘点延伸到该终止边缘点的向量。然后,处理流前进到步骤S4100。
在步骤S4100,边缘点间辅助向量引入(周边)向量序列生成单元3210生成将被在终止边缘点和起始边缘点之间插入的顺序辅助向量,因为向量序列的起始边缘点和终止边缘点被确定,并且连接起始边缘点和终止边缘点的顺序向量已经被输出。下文将参照图40到42说明步骤S4100内的处理的细节。当步骤S4100的处理已经完成,则处理流前进到步骤S4200。
在步骤S4200,边缘点间辅助向量引入(周边)向量序列生成单元3210确定对步骤S300内的边缘点间线芯(周边)向量序列输入中的所有向量序列的处理是否已经完成。如果对所有向量序列的处理已经完成(步骤S4200内YES),则处理流前进到步骤S4300。如果还没有完成对所有向量序列的处理(步骤S4200内NO),则处理流返回步骤S3100以为下一个向量序列执行步骤S3200到S4200的处理。
在步骤S4300,边缘点间辅助向量引入(周边)向量序列生成单元3210输出步骤S3000内的边缘点间线芯(周边)向量序列的处理结果。
图39B示出当确定向量序列(即处理对象)的起始边缘点和终止边缘点,并且除了连接起始边缘点和终止边缘点的顺序向量之外,还生成将插在该终止边缘点和起始边缘点之间的顺序辅助向量时,将被输出的向量序列的输出示例。
在图39B中,第u个向量序列是处理对象,其包括构成连接起始边缘点(即第一个点)和终止边缘点(即第t个点)的向量序列的总共t个顺序向量,以及将插在终止边缘点和起始边缘点之间的总共r个顺序辅助向量。
图40是示出根据本发明的第一示例性实施例的图38的步骤S4100内的处理的细节的流程图。更具体地,在确定向量序列的起始边缘点和终止边缘点,并输出连接该起始边缘点和终止边缘点的顺序向量的状况下,边缘点间辅助向量引入(周边)向量序列生成单元3210生成将插在终止边缘点和起始边缘点之间的顺序辅助向量。
在步骤S4110中,如参照图37A说明的,边缘点间辅助向量引入(周边)向量序列生成单元3210计算将就插在边缘点P0之前的辅助轮廓点P-1的坐标值,该边缘点将是起始边缘点。即,边缘点间辅助向量引入(周边)向量序列生成单元3210确定从辅助轮廓点P-1开始的辅助向量V-1的方向,以致与从将就插在边缘点P0之后的轮廓点P1开始的向量V1的方向相反。此外,边缘点间辅助向量引入(周边)向量序列生成单元3210确定辅助向量V-1的长度,以致满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(3)。例如,辅助向量V-1的长度设定为等于或大于十个像素的长度。
在步骤S4120,如参照图37B说明的,边缘点间辅助向量引入(周边)向量序列生成单元3210计算将就插在边缘点Pn之后的辅助轮廓点Pn+1的坐标值,该边缘点将是终止边缘点。即,边缘点间辅助向量引入(周边)向量序列生成单元3210确定以辅助轮廓点Pn+1结束的辅助向量Vn的方向,以致与以轮廓点Pn-1结束的向量Vn-2的方向相反。此外,边缘点间辅助向量引入(周边)向量序列生成单元3210确定辅助向量Vn的长度,以致满足上述美国专利申请公开号US2005/0238244 A1的切线线段提取条件(3)。例如,辅助向量Vn的长度设定为等于或大于十个像素的长度。
在步骤S4130,边缘点间辅助向量引入(周边)向量序列生成单元3210确定从辅助轮廓点P-1开始的辅助向量V-1和以辅助轮廓点Pn+1结束的辅助向量Vn都是水平向量还是垂直向量。如果辅助向量V-1和Vn满足该条件(步骤S4130内YES),则处理流前进到步骤S4110。如果辅助向量V-1和Vn不满足该条件(步骤S4130内NO),则处理流前进到步骤S4160。
图41示出在步骤S4140内(即当比较的辅助向量V-1和Vn是两个水平向量或两个垂直向量时)执行的示例性处理。在步骤S4140,边缘点间辅助向量引入(周边)向量序列生成单元3210计算紧随第一辅助轮廓点Pn+1之后的第二辅助轮廓点Pn+2。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定从辅助轮廓点Pn+1开始并以辅助轮廓点Pn+2结束的向量Vn-1,以致满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(3)。与第一辅助轮廓点Pn+1相比,第二辅助轮廓点Pn+2的位置远离辅助轮廓点P-1。例如,辅助向量Vn+2的长度设定为等于或大于十个像素的长度。
在步骤S4150,边缘点间辅助向量引入(周边)向量序列生成单元3210计算紧随第二辅助轮廓点Pn+2之后的第三辅助轮廓点Pn+3。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定第三辅助轮廓点Pn+3,以致两个辅助轮廓点Pn+2和P-1可与交替的水平和垂直向量连接。第三辅助轮廓点Pn+3,紧接边缘点P0定位,但是中间间隔一个辅助轮廓点(即P-1)。当上述顺序处理已经完成之后,处理流返回图38的流程图内的步骤S4200。
图42示出步骤S4160内(即当比较的辅助向量V-1和Vn是水平向量和垂直向量的组合时)执行的示例性处理。在步骤S4160,边缘点间辅助向量引入(周边)向量序列生成单元3210计算紧随第一辅助轮廓点Pn+1之后的第二辅助轮廓点Pn+2。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定从辅助轮廓点Pn+1开始并以辅助轮廓点Pn+2结束的向量Vn+1,以致满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(3)。与第一辅助轮廓点Pn+1相比,第二辅助轮廓点Pn+2的位置远离辅助轮廓点P-1。例如,辅助向量Vn+1的长度设定为等于或大于十个像素的长度。
在步骤S4170,边缘点间辅助向量引入(周边)向量序列生成单元3210计算紧随第二辅助轮廓点Pn+2之后的第三辅助轮廓点Pn+3。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定从辅助轮廓点Pn+2开始并以辅助轮廓点Pn+3结束的向量Vn+2,以致满足上述美国专利申请公开号US 2005/0238244 A1的切线线段提取条件(3)。与第二辅助轮廓点Pn+2相比,第三辅助轮廓点Pn+3的位置远离辅助轮廓点P-1。例如,辅助向量Vn+3的长度设定为等于或大于十个像素的长度。
在步骤S4180,边缘点间辅助向量引入(周边)向量序列生成单元3210计算紧随第三辅助轮廓点Pn+3之后的第四辅助轮廓点Pn+4。更具体地,边缘点间辅助向量引入(周边)向量序列生成单元3210确定第四辅助轮廓点Pn+4,以致两个辅助轮廓点Pn+3和P-1可与交替的水平和垂直向量连接。第四辅助轮廓点Pn+4紧接边缘点P0定位,但是中间间隔一个辅助轮廓点(即P-1)。当上述顺序处理已经完成之后,处理流返回图38的流程图内的步骤S4200。
如上所述,边缘点间辅助向量引入(周边)向量序列生成单元3210从边缘点间线芯(周边)向量序列生成单元3210输入边缘点间线芯(周边)向量序列。然后,边缘点间辅助向量引入(周边)向量序列生成单元3210插入辅助向量,以防止对应于边缘点部分的向量与另一个向量结合。换句话说,此处理可防止当边缘点间辅助向量引入(周边)向量序列平滑化单元3220执行平滑化(函数近似)处理时,任何边缘点的位置变得不清楚。即,边缘点间辅助向量引入(周边)向量序列生成单元3210插入辅助向量,以便边缘点部分可被保持为边缘点(即贝塞尔曲线的锚点),并生成边缘点间辅助向量引入(周边)向量序列。
另外,边缘点间辅助向量引入(周边)向量序列生成单元3210为每个辅助向量引入的边缘点间辅助向量引入(周边)向量序列生成指示对应于边缘点部分的向量的起始/终止边缘点信息。本实施例使用类似于图32的数据格式输出生成的处理结果。在此情况下,用图39A或图39B所示的向量序列数据代替图32的每个轮廓数据部分。
如上所述,边缘点间辅助向量引入(周边)向量序列平滑化单元3220的配置类似于美国专利申请公开号US 2005/0238244 A1内所述的配置。边缘点间辅助向量引入(周边)向量序列平滑化单元3220生成被平滑化(函数近似)的边缘点间辅助向量引入(周边)向量序列,其包括在对应于边缘点部分的部分被保存为边缘点的状况下被平滑化(函数近似)的每个(周边)向量。
边缘点间辅助向量引入(周边)向量序列平滑化单元3220将生成的被平滑化(函数近似)的边缘点间辅助向量引入(周边)向量序列输出到边缘点间被平滑化向量序列识别(非周边)单元3230。此外,边缘点间辅助向量引入(周边)向量序列平滑化单元3220将边缘点间辅助向量引入(周边)向量序列生成单元3210生成的起始/终止边缘点信息输出到边缘点间被平滑化向量序列识别(非周边)单元3230。
边缘点间被平滑化向量序列识别(非周边)单元3230从边缘点间辅助向量引入(周边)向量序列平滑化单元3220输入被平滑化(函数近似)的边缘点间辅助向量引入(周边)向量序列。此外,边缘点间被平滑化向量序列识别(非周边)单元3230从边缘点间辅助向量引入(周边)向量序列生成单元3210输入起始/终止边缘点信息。
然后,边缘点间被平滑化向量序列识别(非周边)单元3230通过与用作起始边缘点和终止边缘点的轮廓点的坐标值进行比较来识别每个被平滑化(函数近似)的向量序列内的每个向量的坐标值。边缘点间被平滑化向量序列识别(非周边)单元3230生成连接起始边缘点和终止边缘点以形成边缘点间被平滑化(非周边)的向量序列的非周边向量序列。边缘点间被平滑化向量序列识别(非周边)单元3230将边缘点间被平滑化(非周边)的向量序列输出到单独区域向量生成单元40。
尽管指示每个轮廓点是否是锚点的属性信息附属于每个轮廓点,但是生成的处理结果可使用与图32内所示的数据格式类似的数据格式表示。在此情况下,识别的起始边缘点是第一个点。终止边缘点是相同线元素向量的最后一个点。
即,图32的第一轮廓部分是第一线元素的数据部分。第一个点是第一线元素的起始边缘点。第b个点是第一线元素的终止边缘点。本实施例使用这种数据格式输出处理结果。
这样,图10的流程图内的步骤S50到S80的处理可依次为连接一个交点和另一个交点的每个边界线图像生成边缘点间向量。当为所有边界线生成边缘点间向量的处理完成时,在步骤S100内执行生成单独区域向量的处理。
即,如图43所示,如果存在任何连接交点的边界线,则本实施例依次生成如图44A到44H所示的连接一个交点和另一个交点的边缘点间向量。
图45示出包含已经受到边缘点间向量生成处理的所有边界线的图像。图46示出包含图45内所示的边界线图像和边缘点间被平滑化(非周边)的向量序列的原始边缘点部分的图像。
即使在步骤S50到S80的处理已经完成之后,步骤S30中提取的交点和步骤S50内生成的连接交点的边界线图像内的每个交点仍保持不变。每个交点的位置和交点之间的位置关系可被保存为边缘点间被平滑化(非周边)的向量序列的边缘点的位置和位置关系。这样,在步骤S50 到 S80的处理中步骤S30内提取的交点可一直作为边缘点被处理。
在步骤S100,单独区域向量生成单元40执行单独区域向量生成处理。更具体地,单独区域向量生成单元40基于由区域划分处理获得的每个区域的边缘点间向量信息和颜色信息将每个区域转换成区域向量,该区域向量包含周边被函数近似(平滑化)的边缘点间向量序列及其内部颜色。
如上所述,区域边界向量序列识别单元410和区域属性分配单元420构成单独区域向量生成单元40。
图47是示出根据本发明的第一示例性实施例的图10的步骤S100中的单独区域向量生成处理的细节的流程图。
在步骤S1010,区域边界向量序列识别单元410输入目标区域号码。即,区域边界向量序列识别单元410输入在步骤S12内获得的区域中的任何一个的区域号码。例如,区域边界向量序列识别单元410可参照图2所示的区域表201输入每个区域的区域号码,该区域表指示每个区域的区域号码和每个区域的颜色信息(属性信息)。如上所述,RAM 520存储在步骤S13生成的区域表201。
在步骤S1020,区域边界向量序列识别单元410参照步骤S31内生成的图6的交点表601输入与步骤S1010内的区域号码输入有关的交点(即,边缘点:与目标区域有关的交点)。例如,如果步骤S1010内的区域号码输入是2,则存在在交点表601的邻接区域号码字段中包含区域号码2的三个交点C:(22,40)、E:(38,40)和F:(44,24)。
在步骤S1030中,区域边界向量序列识别单元410从步骤S70中生成的边缘点间辅助向量引入(周边)向量序列中识别边缘点等于步骤S1020内的交点输入的向量序列(区域边界向量序列)。如果向量数据具有类似于图32内所示的数据格式的数据格式,则步骤S1030内的处理可通过检查代表起始边缘点的第一个点和代表终止边缘点的最后一个点是否与步骤S1020内提取的交点的坐标值一致来实现。
图6的交点表601内的数据从图46中表示的向量数据中将三个被函数近似(平滑化)的边缘点间向量识别为目标区域和区域边界向量序列。第一个被函数近似(平滑化)的边缘点间向量序列是连接点F和C的向量序列(从图43的(1)获得)。第二个被函数近似(平滑化)的边缘点间向量序列是连接点C和E的向量序列(从图43的(2)获得)。第三个被函数近似(平滑化)的边缘点间向量序列是连接点E和F的向量序列(从图43的(3)获得)。
在步骤S1040中,区域边界向量序列识别单元410为步骤S1030内识别出的目标区域的区域边界向量序列分配对应的区域颜色信息(属性信息)。步骤S1040的处理包括参考图2内所示的指示每个区域的区域号码和每个区域的颜色信息(属性信息)的区域表201,获取对应于步骤S1010内的区域号码输入的区域的颜色信息(属性信息),并将该属性信息分配给目标区域的区域边界向量序列。
在步骤S1050中,区域边界向量序列识别单元410确定是否已经对所有区域号码完成了步骤S1010到S1040的处理。如果还未对所有区域号码完成处理(步骤S1050内NO),则处理流返回步骤S1010。如果已经对所有区域号码完成处理(步骤S1050内YES),则区域边界向量序列识别单元410终止图10的流程图内的步骤S100的单独区域向量生成处理。
例如,步骤S1050内的确定包括检查是否已经对图2的区域表201内的所有区域号码完成处理,即是否已经完成从区域表201内的第一个数据开始并以最后一个数据结束的处理。
这样,第一示例性实施例可实现用于生成代表彩色图像(尤其是说明性图像)的向量的顺序处理。
图48示出从步骤S100内获得的包括周边被函数近似(平滑化)的边缘点间向量序列及其内部颜色的每个区域的区域向量再现的图像。
下文将详细说明区域划分处理、边界点提取处理、和交点提取处理。
<区域划分处理>
图49是示出根据本发明的第一示例性实施例的步骤S12内的区域划分处理的细节的流程图。
在步骤S1201,区域划分单元121在处理对象图像上执行群集处理。步骤S1201的处理包括从已经被光栅扫描的起始像素生成第一群集,并基于像素的特征计算下一个像素相对于所有群集的偏差。如果偏差低,则像素和群集具有类似特征。即,可确定像素和群集是相同的。
像素i的像素值(Ri,Gi,Bi)代表此像素的特征。属于群集c的所有像素的平均像素值(Rc,Gc,Bc)代表此像素的特征。例如,偏差等于像素i的特征值和群集c的特征值之间的在颜色空间上的欧几里得距离
尽管本实施例在偏差的计算中使用RGB值,但是另一个颜色空间的信息或者与颜色无关的信息也可代表像素的特征量。步骤1201的处理包括登记使偏差值最小的群集的号码,并将偏差值与预定阈值进行比较。如果偏差值小于阈值,则对象像素属于登记的群集。如果偏差值等于或大于阈值,则基于对象像素生成新的群集。上述处理重复执行,直到完成对所有像素的处理。
在步骤S1202,区域划分单元121基于群集处理结果执行区域整合处理。区域整合处理包括输入代表分隔区域的号码的目标值,对当前群集的数量计数,并比较被计数的群集数和目标值。在本实施例中,可在考虑将被分隔的颜色的数量的情况下确定目标值。如果当前群集的数量等于或大于目标值,则区域划分单元121整合群集。区域整合处理包括计算群集之间的偏差值,并将具有最低偏差值的两个群集整合。区域整合处理重复执行,直到当前群集的数量少于目标值。
在步骤S1203,区域划分单元121基于区域整合处理结果执行噪声区域确定处理。噪声区域确定处理包括标记区域划分处理结果,并计算每个标记区域的大小。标记区域的大小等于对象区域内包含的像素的数量。如果标记区域的大小小于阈值,则区域划分单元121确定此区域是噪声区域。
在步骤S1204,区域划分单元121计算噪声区域内的每个像素相对于邻接区域的偏差,并执行噪声区域重新处理以便处理对象像素属于具有最小偏差的区域。噪声区域确定处理重复执行,直到对所有标记区域完成处理。由文档图像的区域划分得到的图形区域可在被存储之前被压缩。上述噪声区域确定处理和噪声区域重新处理可有效地除去压缩过程中生成的噪声。
如上所述,区域划分单元121可将彩色图像划分为在图像上连续接合的多个区域。每个区域具有相同或一致的特征(具有不小于阈值的偏差值)。
<边界点提取处理>
下文将参照图3详细说明步骤S21内的水平边界点提取处理、步骤S23内的垂直边界点提取处理和步骤S25内的对角线边界点提取处理。
边界点提取处理包括沿水平方向(→)扫描区域划分结果,并在每条水平扫描线上提取代表两个区域之间的边界的像素作为水平边界点。图3示出包含区域1(背景)、区域2、区域3、区域4和区域5五个区域的示例性图像。
如图3所示,在第10行上的水平扫描操作检测到点B,在该点处区域号码从1改变为2。检测到的点B被记录为水平边界点。类似,在第14行上的水平扫描操作检测到点A,其被记录为水平边界点。此外,水平扫描操作接连在第22行上检测到点C,在第38行上检测到点E,在第44行上检测到点F,在第64行上检测到点H和I,它们都被记录为水平边界点。
边界点提取处理包括沿垂直方向(↓)扫描区域划分结果,并在每条垂直扫描线上提取代表两个区域之间的边界的像素作为对角线边界点。
如图3所示,垂直扫描操作接连在第10列上检测到点D,在第15列上检测到点A,在第20列上检测到点B,在第24列上检测到点F,在第40列上检测到点E和C,在第58列上检测到点H以及在第66列上检测到点I,它们都被记录为垂直边界点。
此外,边界点提取处理包括沿对角线方向扫描区域划分结果,并在每条对角线扫描线上提取代表两个区域之间的边界的像素作为水平边界点。
如图3所示,对角线扫描操作在第14行和第15列上检测到点A,在该点处区域号码从1改变为2。检测到的点A被记录为对角线边界点。类似地,对角线扫描操作接连检测到点B、J、C、K、E、G、D、H和I,它们都被记录为对角线边界点。
下文将说明一些边界点。图50A到50E示出示例性的沿连接点B和A的边界线的水平、垂直和对角线边界点的提取。
在图50A中,像素(1)代表属于区域1的像素而像素(2)代表属于区域2的像素。在图50B中,具有阴影图案的像素(1)代表在水平边界点提取处理中作为在该处区域号码最先改变的部分被提取的水平边界点。
在图50C中,具有阴影图案的像素(1)代表在垂直边界点提取处理中提取的垂直边界点。在图50D中,具有阴影图案的像素(1)代表在对角线边界点提取处理中提取的对角线边界点。
在图50E中,具有阴影图案的像素(1)代表在水平边界点提取、垂直边界点提取和对角线边界点提取处理的任何一个中提取的边界点。这些边界点处于四连续接合状态。
为了更具体地说明根据第一示例性实施例的边界线图像生成,将参照图51A到51F更详细地说明水平边界点提取处理、垂直边界点提取处理和对角线边界点提取处理。
图51A示出作为区域划分结果的四个矩形区域。图51B示出沿图51A的边界线定位的像素。
图51C示出作为水平边界点提取处理的结果从图51B提取的水平边界点(具有阴影图案)。
图51D示出作为垂直边界点提取处理的结果从图51B提取的垂直边界点(具有阴影图案)。
图51E示出作为对角线边界点提取处理的结果从图51B提取的对角线边界点(具有阴影图案)。
图51F示出从水平、垂直和对角线边界点提取处理中的任何一个提取的所有边界点。这些边界点处于四连续接合状态。
<交点提取处理>
图52是示出根据本发明的第一示例性实施例的步骤S30内的交点提取处理的细节的流程图。
在步骤S301,交点识别单元221参考步骤S22内生成的水平边界点表401、步骤S24内生成的垂直边界点表402和步骤S26内生成的对角线边界点表403。交点识别单元221 三个表401到403中的至少两个内存在的边界点中检测具有三个或更多个邻接区域号码的边界点作为交点。
三个表中的至少两个内存在的边界点是用作水平边界点和垂直边界点的边界点、用作水平边界点和对角线边界点的边界点、用作垂直边界点和对角线边界点的边界点以及用作水平边界点、垂直边界点和对角线边界点的边界点中的任何一个。
图5示出从图4的水平边界点表401、垂直边界点表402和对角线边界点表403提取交点的示例,每个该表均包含从图3所示的区域划分结果提取的边界点。
三个边界点表中都存在边界点C。边界点C沿水平方向的邻接区域的号码为2和3。边界点C沿垂直方向的邻接区域的号码为1和2。边界点C沿对角线方向的邻接区域的号码为1和2。换句话说,边界点C具有三个邻接区域号码,并且被提取作为交点。
类似地,点E、F和G是交点。但是,剩余的点A、B、D、H和I则不是交点,因为沿水平方向的邻接区域的号码、沿垂直方向的邻接区域的号码以及沿对角线方向的邻接区域的号码相同。
图53A示出从图51A的区域划分结果提取交点的示例。图53A包括由应用于在沿各个方向(水平、垂直和对角线方向)的边界点提取处理中提取的边界点的沿每个方向的边界点表生成处理生成的边界点表401到403。水平边界点表401、垂直边界点表402和对角线边界点表403中的至少两个表上存在的任何边界点均用单独的线标记。
图53B示出从图53A中标记的边界点中检测出的示例性的交点(即,具有三个或更多个邻接区域号码的边界点)的表,其与图6的交点表601等效。图53C示出包含图53B的交点的矩形灰色图案。
在步骤S302,交点识别单元221确定步骤S301内提取的交点内的任何一个的邻接区域号码中是否包含所有区域号码。如果包含所有区域号码(步骤S302内YES),则交点识别单元221确定在所有区域内存在交点,并终止交点提取处理。
如果存在任何区域号码没有被包含在交点的邻接区域号码内(步骤S302内NO),则交点识别单元221确定此区域不具有多个邻接区域,并且在步骤S301的处理中没有检测到任何交点。
根据图3的示例,在步骤S301中提取的交点C、E、F和G的邻接区域号码包括区域号码1到4。区域1到4的边界点包括交点。但是,不存在包含区域号码5作为邻接区域号码的交点。因此,交点识别单元221确定区域5为独立区域,因为在区域5和另一个区域之间不存在交点。
在步骤S303,交点识别单元221参考步骤S22内生成的水平边界点表401,步骤S24内生成的垂直边界点表402和步骤S26内生成的对角线边界点表403,并选择包含对应于在步骤S302内确定不具有交点的区域的区域号码的两个边界点。即,交点识别单元221为在步骤S302内确定不具有交点的区域生成交点。
例如,交点识别单元221参考图4所示的水平边界点表401、垂直边界点表402和对角线边界点表403选择具有包含区域5的两个邻接区域号码的边界点H和I。交点识别单元221将选择的边界点H和I指定为区域5的交点。
可选择地,交点识别单元221可从图4所示的水平边界点表401、垂直边界点表402和对角线边界点表403中的每一个的开端搜索所有边界点。然后,交点识别单元221可选择满足条件的第一边界点(即,包含区域5作为邻接区域号码的边界点),和在满足条件的其他边界点中距离第一边界点最远的第二边界点。
如上所述,第一示例性实施例基于可在向量生成处理中由像素之间的特征获得的偏差将图像分成多个区域。此外,第一示例性实施例生成指示连接两个交点(边界的边缘点)的边缘点间向量的方向的轮廓点信息作为与邻接区域之间的边界有关的区域边界信息。
然后,第一示例性实施例基于轮廓点信息识别代表被划分的区域的边界的边缘点间向量。更具体地,第一示例性实施例基于轮廓点信息获得边缘点间向量之间的位置关系,并识别代表被划分的区域的边界的边缘点间向量。因此,第一示例性实施例可准确和合适地生成代表没有在区域之间生成间隙或重叠的区域的向量数据。
<第二示例性实施例>
本发明的第二示例性实施例生成如图54所示的包含所有边界线的图像的细线图像,基于生成的图像为向量提取重新检测交点,并共同生成向量组。
图55是示出根据本发明的第二示例性实施例的图像处理装置的操作的流程图。
根据第二示例性实施例的图55的流程图与根据第一示例性实施例的图10的流程图的不同之处在于边缘点间向量生成处理的处理顺序。图10包括位于步骤S50到S80的处理循环内的边缘点间向量生成处理(步骤S70),而图55包括位于步骤S50到S80的处理循环外的边缘点间向量生成处理(步骤S90)。即,在生成图54的细线图像之后,基于生成的图像为向量提取重新检测交点,并共同生成向量组。
在步骤S90内的边缘点间向量生成处理(其类似于图10的步骤S70内的边缘点间向量生成处理)中,如第一示例性实施例所述,边缘点间向量生成单元30提取作为边缘点的交点部分。因此,类似于第一示例性实施例,可如图45或46所述地生成包含边缘点间被平滑化(函数近似)的向量序列的集合的图像。
即,步骤S30内提取的交点或步骤S50内生成的连接交点的边界线的图像内的每个交点都在步骤S90的边缘点间向量生成处理内被识别为是边缘点间被平滑化(函数近似)的向量序列的交点。然后,边缘点间向量生成单元30共同生成连接交点的边缘点间向量组。步骤S100内的处理类似于在第一示例性实施例内所述的处理。
如上所述,除了第一示例性实施例内所述的效果之外,第二示例性实施例还可基于包含所有边界线的图像的细线图像生成边缘点间向量组,并且可基于生成的边缘点间向量组生成单独区域向量。因此,第二示例性实施例可有效地生成单独区域向量。
第三示例性实施例
本发明的第三示例性实施例使得用户可经由图像处理装置的通信I/F 4或使用点击设备(未示出)的用户接口(UI)指定分区以对其进行向量生成处理。
在此情况下,在图47内所示的流程图的步骤S1010中,区域边界向量序列识别单元410输入基于用户的指令将受到向量处理的分区,该指令可经由通信I/F 4或UI输入,而没有从图2所示的表201自动输入目标区域号码。然后,区域边界向量序列识别单元410仅将向量生成处理(即单独区域向量生成处理)应用于指定的分区。例如,如果用户从图2和3所示的五个分区中指定三个区域2、3和5,则区域边界向量序列识别单元410为指定的区域2、3和5中的每一个生成单独区域向量。
图56是示出根据本发明的第三示例性实施例的图像处理装置的操作的流程图。
图56的流程图包括步骤S40,该步骤获取向量处理对象区域信息(目标区域号码)以限制将受到上述向量生成处理的分区。除了步骤S40内的处理之外,图56的流程图类似于图55的流程图。即,第三示例性实施例与上述第一和第二示例性实施例的不同之处在于,仅对由步骤S40内获取的向量处理对象区域信息指定的区域执行步骤S50到S100的顺序操作。
如上所述,除了第一示例性实施例的效果之外,第三示例性实施例还使得用户能够将图像内的目标区域指定为处理对象。第三示例性实施例可为有限数量的目标区域生成区域向量。第三示例性实施例可有效地生成考虑到应用目的所必需的区域的区域向量。
本发明可表现为系统、装置、方法、程序或存储介质。本发明可应用于包含多个装置的系统或可应用于单独装置。
此外,用于实现上述示例性实施例的功能的软件程序代码(即,对应于上述示例性实施例内的流程图的软件程序代码)可被提供给包含多种设备的系统或装置。系统或装置内的计算机(或CPU或微处理单元(MPU))可执行程序以操纵所述设备以实现上述示例性实施例的功能。
因此,本发明包括当示例性实施例的功能或过程可由计算机实现时可安装在计算机上的程序代码。在此情况下,程序代码本身可实现示例性实施例的功能。如果程序的等同物具有类似功能则可使用这些程序等同物。此外,本发明包括将程序代码提供给具有存储程序代码的存储(或记录)介质的计算机。
在此情况下,程序代码的类型可以是目标代码、解释程序和OS脚本数据中的任何一个。提供程序的存储介质可例如选自软盘、硬盘、光盘、磁光(MO)盘、紧致盘-ROM(CD-ROM)、可记录CD(CD-R)、可写入CD(CD-W)、磁带、非易失性存储卡、ROM和DVD(DVD-ROM,DVD-R)。
用于提供程序的方法包括当因特网上的网站允许每个用户将本发明的计算机程序或具有自动安装功能的程序的压缩文件下载到硬盘或用户的其他记录介质上时,使用客户计算机的浏览器访问该网站。
此外,构成本发明的程序的程序代码可被分成多个文件,从而各个文件可从不同的网站上下载。即,本发明包含万维网(WWW)服务器,这允许多个用户下载程序文件,从而本发明的功能或过程可在他们的计算机上实现。
当将本发明的程序分发给用户时,将本发明的程序加密并将加密的程序存储在CD-ROM或类似的记录介质上是示例性方法。授权用户(即满足预定条件的用户)被允许从因特网的网页上下载密钥信息。用户可使用获得的密钥信息对程序解密,并可将程序安装在它们的计算机上。当计算机读取并执行安装的程序时,可实现上述示例性实施例的功能。
此外,操作系统(OS)或在计算机上允许的其他应用软件可基于程序执行执行一部分或全部实际处理。
另外,从存储介质读出的程序代码可被写入计算机内配备的功能扩展板的存储器内,或连接到计算机的功能扩展单元的存储器内。在此情况下,基于程序指令,功能扩展板或功能扩展单元上设置的CPU可执行一部分或全部处理,从而可实现上述示例性实施例的功能。
尽管已经结合实现示例性实施例说明了本发明,但是应理解,本发明并不局限于公开的示例性实施例。下文的权利要求的范围应被赋予最宽泛的解释以便覆盖所有变型、等同结构和功能。
Claims (11)
1.一种配置成执行用于生成代表图像的向量序列的处理的图像处理装置,该图像处理装置包括:
配置成基于图像的属性信息将图像划分成多个区域的划分单元;
配置成提取与该划分单元划分成的区域之间的边界线相关的区域边界信息的提取单元;
配置成基于该提取单元提取的区域边界信息识别划分成的区域的不同边界的交点的交点信息生成单元;
配置成为连接对应于由该交点信息生成单元识别的交点的边缘点的每个边界生成边缘点间向量数据的边缘点间向量生成单元;以及
配置成基于该边缘点间向量生成单元生成的边缘点间向量数据生成该划分单元划分成的每个区域的向量数据的单独区域向量生成单元。
2.根据权利要求1的图像处理装置,其中单独区域向量生成单元包括:
识别单元,该识别单元配置成基于该划分单元划分成的区域的属性信息,从该边缘点间向量生成单元生成的边缘点间向量数据中识别构成该划分单元划分成的每个区域的边界的至少一个边缘点间向量数据;以及
分配单元,配置成将属性信息分配给由该识别单元识别的边缘点间向量数据构成的区域,
其中单独区域向量生成单元生成分配给由该识别单元识别的边缘点间向量数据构成的区域的属性信息以及构成该区域的边缘点间向量作为一个区域的向量数据。
3.根据权利要求1的图像处理装置,其中该区域边界信息包括与代表不同邻接区域的边界的像素有关的信息。
4.根据权利要求1的图像处理装置,其中交点信息生成单元基于该提取单元提取的区域边界信息识别不同区域的边界的交点,并生成指示识别的交点的交点信息。
5.根据权利要求4的图像处理装置,其中单独区域向量生成单元基于该交点信息生成单元生成的交点信息生成每个区域的向量数据。
6.根据权利要求1的图像处理装置,其中该划分单元基于图像内的像素之间的特征的偏差在图像内执行像素群集划分,并基于该群集划分处理获得的群集将图像分成多个区域。
7.根据权利要求1的图像处理装置,其中边缘点间向量生成单元从包含基于提取单元提取的区域边界信息生成的连接边缘点的边界线的图像生成边缘点间向量数据。
8.根据权利要求1的图像处理装置,其中边缘点间向量生成单元基于该提取单元提取的区域边界信息生成所有边界线的图像,并基于生成的边界线图像和边缘点生成边缘点间向量数据。
9.根据权利要求1的图像处理装置,还包括配置成在图像内指定处理对象区域的指定单元。
10.根据权利要求1的图像处理单元,其中图像的属性信息包括图像的颜色信息,以及
其中划分单元基于图像的颜色信息将图像分成多个不同颜色的区域。
11.一种用于控制配置成执行用于生成代表图像的向量序列的处理的图像处理装置的方法,该方法包括:
基于图像的属性信息将图像划分成多个区域;
提取与划分成的区域之间的边界线有关的区域边界信息;
基于提取的区域边界信息识别划分成的区域的不同边界的交点;
为连接对应于被识别的交点的边缘点的每个边界生成边缘点间向量数据;以及
基于生成的边缘点间向量数据生成每个划分成的区域的向量数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006335070 | 2006-12-12 | ||
JP2006-335070 | 2006-12-12 | ||
JP2006335070A JP5058575B2 (ja) | 2006-12-12 | 2006-12-12 | 画像処理装置及びその制御方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101201903A true CN101201903A (zh) | 2008-06-18 |
CN101201903B CN101201903B (zh) | 2011-01-26 |
Family
ID=39498112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101822126A Expired - Fee Related CN101201903B (zh) | 2006-12-12 | 2007-10-12 | 图像处理装置及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8041122B2 (zh) |
JP (1) | JP5058575B2 (zh) |
CN (1) | CN101201903B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541488A (zh) * | 2010-12-09 | 2012-07-04 | 深圳华强游戏软件有限公司 | 一种实现投影屏幕的无缝对齐的图像处理方法及系统 |
CN102756209A (zh) * | 2011-04-28 | 2012-10-31 | 铃木株式会社 | 图像处理装置以及图像处理方法 |
CN101645091B (zh) * | 2008-08-09 | 2013-04-24 | 株式会社其恩斯 | 图像数据压缩方法、图像处理中的图案模型定位方法,图像处理设备 |
CN106599846A (zh) * | 2016-12-15 | 2017-04-26 | 徐州工程学院 | 一种易于计算机视觉识别的交通标志牌的识别方法 |
CN109213949A (zh) * | 2017-06-19 | 2019-01-15 | 北京嘀嘀无限科技发展有限公司 | 热力图的绘制方法和装置 |
CN110383696A (zh) * | 2017-03-03 | 2019-10-25 | 西斯维尔科技有限公司 | 用于对超像素边界进行编码和解码的方法和装置 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4933404B2 (ja) | 2007-11-07 | 2012-05-16 | キヤノン株式会社 | 画像処理装置、画像処理方法、画像処理プログラム、並びに、プログラム記録媒体 |
JP4525787B2 (ja) * | 2008-04-09 | 2010-08-18 | 富士ゼロックス株式会社 | 画像抽出装置、及び画像抽出プログラム |
JP5028337B2 (ja) | 2008-05-30 | 2012-09-19 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 |
CN101685544B (zh) * | 2008-09-28 | 2011-11-23 | 北大方正集团有限公司 | 一种简化复杂路径的方法及装置 |
JP4414470B1 (ja) * | 2008-10-10 | 2010-02-10 | 本田技研工業株式会社 | 車両の故障診断のための基準値の生成 |
JP2011013898A (ja) | 2009-07-01 | 2011-01-20 | Canon Inc | 画像処理装置、画像処理方法、及び、プログラム |
JP2011124954A (ja) * | 2009-12-14 | 2011-06-23 | Canon Inc | 画像処理方法及び画像処理装置 |
JP5534867B2 (ja) * | 2010-03-02 | 2014-07-02 | キヤノン株式会社 | ラスタ画像を生成する装置、ラスタ画像生成方法、およびプログラム |
JP2011198246A (ja) | 2010-03-23 | 2011-10-06 | Canon Inc | 画像処理方法、画像処理装置、プログラム及びプログラム記憶媒体 |
JP5597096B2 (ja) | 2010-10-18 | 2014-10-01 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
JP5871571B2 (ja) * | 2011-11-11 | 2016-03-01 | 株式会社Pfu | 画像処理装置、矩形検出方法及びコンピュータプログラム |
JP5822664B2 (ja) | 2011-11-11 | 2015-11-24 | 株式会社Pfu | 画像処理装置、直線検出方法及びコンピュータプログラム |
JP5854774B2 (ja) | 2011-11-11 | 2016-02-09 | 株式会社Pfu | 画像処理装置、直線検出方法及びコンピュータプログラム |
US8605109B1 (en) * | 2011-11-11 | 2013-12-10 | The Mathworks, Inc. | Trend density plot |
JP5854802B2 (ja) * | 2011-12-01 | 2016-02-09 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びコンピュータプログラム |
JP6402469B2 (ja) | 2014-04-04 | 2018-10-10 | 富士電機株式会社 | 安全制御装置および安全制御システム |
CN103971374A (zh) * | 2014-05-22 | 2014-08-06 | 日立数字安防系统(上海)有限公司 | 一种针对多种亮度条件下图像可视化程度检测的评估方法 |
JP2016111616A (ja) * | 2014-12-09 | 2016-06-20 | キヤノン株式会社 | 情報処理装置および曲線算出方法、画像表示装置 |
WO2022031232A1 (en) * | 2020-08-04 | 2022-02-10 | Nanyang Technological University | Method and device for point cloud based object recognition |
JP2022050935A (ja) * | 2020-09-18 | 2022-03-31 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3026592B2 (ja) | 1990-10-22 | 2000-03-27 | キヤノン株式会社 | 輪郭抽出方法及びその装置 |
JP3049672B2 (ja) | 1991-12-26 | 2000-06-05 | キヤノン株式会社 | 画像処理方法及び装置 |
JP2845107B2 (ja) | 1993-10-27 | 1999-01-13 | 三菱電機株式会社 | 画像処理装置 |
KR0159575B1 (ko) * | 1994-10-31 | 1999-01-15 | 배순훈 | 영역 분할 부호화 방식의 인접 영역간 불연속 처리 장치 |
JP2001351110A (ja) * | 2000-06-07 | 2001-12-21 | Nippon Telegr & Teleph Corp <Ntt> | 形状輪郭線分割方法、形状輪郭線分割器、および形状輪郭線分割プログラムを記憶した記憶媒体 |
JP4527322B2 (ja) * | 2001-07-25 | 2010-08-18 | 日本電気株式会社 | 画像検索装置、画像検索方法、及び画像検索用プログラム |
CN1331099C (zh) * | 2004-04-23 | 2007-08-08 | 中国科学院自动化研究所 | 基于内容的图像识别方法 |
JP4371911B2 (ja) | 2004-05-31 | 2009-11-25 | キヤノン株式会社 | 関数化処理方法及び関数化処理装置 |
US7873218B2 (en) | 2004-04-26 | 2011-01-18 | Canon Kabushiki Kaisha | Function approximation processing method and image processing method |
JP2006107290A (ja) * | 2004-10-07 | 2006-04-20 | Canon Inc | 画像処理装置およびその方法 |
US7889938B2 (en) | 2006-03-31 | 2011-02-15 | Canon Kabushiki Kaisha | Method and apparatus for processing line drawings in images |
-
2006
- 2006-12-12 JP JP2006335070A patent/JP5058575B2/ja active Active
-
2007
- 2007-10-12 CN CN2007101822126A patent/CN101201903B/zh not_active Expired - Fee Related
- 2007-10-12 US US11/871,796 patent/US8041122B2/en active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645091B (zh) * | 2008-08-09 | 2013-04-24 | 株式会社其恩斯 | 图像数据压缩方法、图像处理中的图案模型定位方法,图像处理设备 |
CN102541488A (zh) * | 2010-12-09 | 2012-07-04 | 深圳华强游戏软件有限公司 | 一种实现投影屏幕的无缝对齐的图像处理方法及系统 |
CN102541488B (zh) * | 2010-12-09 | 2015-02-04 | 深圳华强游戏软件有限公司 | 一种实现投影屏幕的无缝对齐的图像处理方法及系统 |
CN102756209A (zh) * | 2011-04-28 | 2012-10-31 | 铃木株式会社 | 图像处理装置以及图像处理方法 |
CN106599846A (zh) * | 2016-12-15 | 2017-04-26 | 徐州工程学院 | 一种易于计算机视觉识别的交通标志牌的识别方法 |
CN106599846B (zh) * | 2016-12-15 | 2019-09-13 | 徐州工程学院 | 一种易于计算机视觉识别的交通标志牌的识别方法 |
CN110383696A (zh) * | 2017-03-03 | 2019-10-25 | 西斯维尔科技有限公司 | 用于对超像素边界进行编码和解码的方法和装置 |
CN110383696B (zh) * | 2017-03-03 | 2023-06-30 | 西斯维尔科技有限公司 | 用于对超像素边界进行编码和解码的方法和装置 |
CN109213949A (zh) * | 2017-06-19 | 2019-01-15 | 北京嘀嘀无限科技发展有限公司 | 热力图的绘制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101201903B (zh) | 2011-01-26 |
JP5058575B2 (ja) | 2012-10-24 |
JP2008146496A (ja) | 2008-06-26 |
US20080137961A1 (en) | 2008-06-12 |
US8041122B2 (en) | 2011-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201903B (zh) | 图像处理装置及其控制方法 | |
US5119439A (en) | Method of and apparatus for extracting image contour data | |
JP3748172B2 (ja) | 画像処理装置 | |
JP5854802B2 (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
AU2014201404B2 (en) | Segmentation of an Image Based on Color and Color Differences | |
US7426302B2 (en) | System and method for digitizing a pattern | |
CN102194123B (zh) | 表格模板定义方法和装置 | |
CN106157341A (zh) | 生成合成图片的方法及装置 | |
CN102782703A (zh) | 经历光学字符识别的图像的页面布局确定 | |
CN101281651A (zh) | 图像中对称性的自动检测和映射 | |
CN103080950A (zh) | 二维码读取器及程序 | |
KR102104221B1 (ko) | 디지털 객체 고유 식별자(doi) 인지 방법 및 디바이스 | |
CN109447086A (zh) | 一种图片文字颜色的提取方法及装置 | |
CN103069430A (zh) | 二维码读取器及程序 | |
CN106203454A (zh) | 证件版式分析的方法及装置 | |
JP4275866B2 (ja) | カラー画像から文字列パターンを抽出する装置および方法 | |
CN100437746C (zh) | 字符显示设备和字符显示方法 | |
JP2007264965A (ja) | ディジタルコンテンツ作成システムおよびディジタルコンテンツ作成プログラム、並びにディジタルコンテンツ作成方法 | |
CN106446889A (zh) | 一种台标的本地识别方法和装置 | |
JP4756436B2 (ja) | パターン認識装置とそのパターン認識方法、及びパターン認識プログラム | |
US7130492B2 (en) | Image processing apparatus and method, and program | |
KR101189003B1 (ko) | 만화콘텐츠 이미지파일을 모바일용 이미지파일로 변환하는 방법 | |
CN110084117A (zh) | 基于二值图分段投影的文档表格线检测方法、系统 | |
JPH08147469A (ja) | カラー画像認識方法 | |
JP4080157B2 (ja) | 画像処理装置、画像処理方法、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110126 |
|
CF01 | Termination of patent right due to non-payment of annual fee |