CN102339396B - 一种栅格文字粗细调整方法及系统 - Google Patents
一种栅格文字粗细调整方法及系统 Download PDFInfo
- Publication number
- CN102339396B CN102339396B CN201010231795.9A CN201010231795A CN102339396B CN 102339396 B CN102339396 B CN 102339396B CN 201010231795 A CN201010231795 A CN 201010231795A CN 102339396 B CN102339396 B CN 102339396B
- Authority
- CN
- China
- Prior art keywords
- pixel
- stroke
- purity
- passage
- adjustment
- 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.)
- Active
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种栅格文字粗细调整方法及系统,属于图像处理技术领域。现有技术中的文字粗细调整方法精度和效率较低。本发明首先构建文字区域内各像素点的矢量形态;然后根据预先设定的调整方式、调整方向和调整尺寸更新各像素点的矢量形态;最后将更新后各像素点的矢量形态映射回像素点各通道的灰度,得到栅格文字粗细调整后的结果。本发明可以精确控制栅格文字粗细调整范围和方向,实现亚像素级别的栅格文字粗细调整。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种栅格文字粗细调整方法及系统。
背景技术
随着数码印刷技术的迅速发展,人们对数码印刷设备的印刷质量以及印刷效率的要求越来越高。但是由于印刷过程中经常遇到所印文字笔画粗细不同的情况,如宋体字,横画总比竖画细。当文字字号较小时,往往由于栅格化点阵中某些笔画较细颜色较浅,以及印刷油墨量不足,造成相应笔画信息丢失的印刷事故。因此,实际印刷前一般会预先调整可能出现印刷质量问题的栅格文字,以保证较细的笔画印刷成功。在特定印刷情形,则还需减细较粗的笔画以体现文字瘦身的效果。
现有技术中,文字粗细调整多依赖作业人员使用Photoshop等处理软件手工完成。若原稿包含矢量字符图层,则使用Photoshop自带的字符加粗功能对文字加粗,如果只有栅格文字,则抠取文字部分,平移叠加后合成,如加粗宽度不足或导致模糊,再人工修图。
中国专利申请(公开号:CN101131698,公开日:2008年2月27日)公开了一种数据文件的印刷方法及装置。该方法及装置首先确定需印刷的第一数据文件;其次将第一数据文件偏移获得第二数据文件;再次将第一数据文件与第二数据文件合并获得第三数据文件;最后对第三数据文件进行印刷。该方法及装置仅仅是在印刷阶段对文字进行加粗,具有很大的局限性,而且无法精确控制文字加粗的尺度。
综上所述,现有技术中的栅格文字粗细调整方法均无法精细控制粗细调整的尺度,达到亚像素级别的文字粗细调整。
发明内容
针对现有技术中存在的缺陷和不足,本发明所要解决的技术问题是提供一种精确到亚像素级别的栅格文字粗细调整方法及系统。
为解决上述技术问题,本发明采用的技术方案如下:
一种栅格文字粗细调整方法,包括以下步骤:
(1)构建文字区域内各像素点的矢量形态;
(2)根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点的矢量形态;
(3)将更新后各像素点的矢量形态映射回像素点各通道的灰度。
如上所述的栅格文字粗细调整方法,步骤(1)中所述构建文字区域内各像素点矢量形态的方法如下:
①计算文字区域内各像素点的纯度;
②根据像素点的纯度构建各像素点的矢量形态。
如上所述的栅格文字粗细调整方法,其中,像素点的纯度计算方法如下:
计算文字区域内各通道前景色和背景色的差值;
选择前景色和背景色差值最大的通道L;
将所述像素点在通道L中的灰度值与前景色在通道L中的灰度值的相似度作为所述像素点的纯度。
如上所述的栅格文字粗细调整方法,其中,像素点的纯度采用如下公式计算:
其中,P(i,j)表示像素点的纯度,L(i,j)表示像素点在通道L的颜色,LA表示通道L的前景色,LB表示通道L的背景色。
如上所述的栅格文字粗细调整方法,其中,当文字区域各通道前景色的累加值和各通道背景色的累加值的差值大于通道L的差值时,将所述像素点在各通道灰度值的累加值与前景色在各通道的累加值的相似度作为所述像素点的纯度。
如上所述的栅格文字粗细调整方法,步骤(2)中所述调整方式包括加粗和减细;调整方向包括全局调整和单向调整,所述单向调整包括横向、纵向和斜向。
如上所述的栅格文字粗细调整方法,其中,当所述调整方式为加粗时,步骤②中所述根据像素点的纯度构建各像素点的矢量形态的方法如下:
判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位;
将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内的多边形,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定。
如上所述的栅格文字粗细调整方法,其中,当所述调整方式为减细时,步骤②中所述根据像素点的纯度构建各像素点的矢量形态的方法如下:
将文字区域内各像素点的纯度进行反转计算;
判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位;
将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内的多边形,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定。
如上所述的栅格文字粗细调整方法,其中,多边形包括矩形、拐尺形、三角形和梯形。
如上所述的栅格文字粗细调整方法,其中,判断文字区域内纯度非零像素点所属笔画类型和所属笔画部位的方法如下:
计算纯度非零像素点X方向梯度P和Y方向梯度Q;
比较P和Q,根据比较结果确定所述像素点所属的笔画类型及所属笔画的部位:
当|P|>2|Q|时,该像素点所属笔画类型为竖画,当P为正时,该像素点位于竖画左侧,反之位于竖画右侧;
当|Q|>2|P|时,该像素点所属笔画类型为横画,当Q为正时,该像素点位于横画上侧,反之位于横画下侧;
当|Q|/2≤|P|≤2|Q|时,该像素点所属笔画类型为斜画,当P负、Q正时为斜画类型1,当P和Q均正时为斜画类型2,当P和Q均负时为斜画类型3;当P正、Q负时为斜画类型4;
当P和Q均为0时,该像素点所属笔画类型为过渡型笔画。
如上所述的栅格文字粗细调整方法,其中,在判断出文字区域内纯度非零像素点所属笔画类型和所属笔画部位后,还包括根据像素点的邻域修正部分像素点所属笔画类型的操作,修正的过程如下:
如果一个像素点自身及其左右像素点的纯度都不为0,与其紧邻的一行对应部位连续两个像素点的纯度为0,另一个像素点的纯度不为0,则将该像素点所属笔画类型修正为横画;
如果一个像素点自身及其上下像素点的纯度都不为0,与其紧邻的一列对应部位连续两个像素点的纯度为0,另一个像素点的纯度不为0,则将该像素点所属笔画类型修正为竖画;
如果一行内连续3个像素点的纯度相同,且其上下两行对应部位像素点的纯度均为0,则将这些像素点所属笔画类型修正为横画;如果一列内连续3个像素点的纯度相同,且其左右两列对应部位像素点的纯度均为0,则将这些像素点所属笔画类型修正为竖画。
如上所述的栅格文字粗细调整方法,步骤(2)中所述更新各像素点的矢量形态的方法如下:
依据调整方向和调整尺寸对各像素点所在正方形边框内的多边形进行扩张;
计算扩张后像素点所在正方形边框内的多边形的并集面积。
如上所述的栅格文字粗细调整方法,当调整方式为加粗时,步骤(3)中所述将更新后各像素点的矢量形态映射回像素点各通道灰度的方法如下:
将所述多边形并集面积转换为像素点的新纯度;
根据像素点的新纯度采用如下公式计算像素点各通道的灰度:
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示像素点的新纯度,NA表示通道N的前景色,NB表示通道N的背景色。
如上所述的栅格文字粗细调整方法,当调整方式为减细时,步骤(3)中所述将更新后各像素点的矢量形态映射回像素点各通道灰度的方法如下:
将所述多边形并集面积转换为像素点的新纯度;
将所述新纯度进行反转计算;
根据反转后像素点的纯度采用如下公式计算像素点各通道的灰度:
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示反转后像素点的纯度,NA表示通道N的前景色,NB表示通道N的背景色。
一种栅格文字粗细调整系统,包括用于构建文字区域内各像素点的矢量形态的构建装置;
用于根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点矢量形态的更新装置;
以及用于将更新后各像素点的矢量形态映射回像素点各通道灰度的映射装置。
如上所述的栅格文字粗细调整系统,其中,构建装置包括用于计算文字区域内各像素点纯度的计算模块I;
用于判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位的判断模块;
用于将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内多边形的转换模块I,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定。
如上所述的栅格文字粗细调整系统,其中,计算模块I在调整方式为减细时还用于对文字区域内各像素点的纯度进行反转计算。
如上所述的栅格文字粗细调整系统,其中,更新装置包括用于依据调整方向和调整尺寸对各像素点所在正方形边框内的多边形进行扩张的扩张模块;
以及用于计算扩张后像素点所在正方形边框内多边形并集面积的计算模块II。
如上所述的栅格文字粗细调整系统,其中,映射装置包括用于将所述多边形并集面积转换为像素点纯度的转换模块II;
用于根据像素点的纯度采用如下公式计算像素点各通道灰度的计算模块III:
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示像素点的纯度,NA表示通道N的前景色,NB表示通道N的背景色。
如上所述的栅格文字粗细调整系统,其中,计算模块III在调整方式为减细时将多边形并集面积转换为像素点纯度后,还用于将像素点纯度进行反转计算。
本发明所述方法及系统,通过调整文字区域内像素点的矢量形态的方式,能够精确控制粗细调整范围和方向,实现了亚像素级别的栅格文字粗细调整,从而代替了人工处理方式,提高了栅格文字粗细调整的精度和效率。
附图说明
图1是具体实施方式中栅格文字粗细调整系统的结构框图;
图2是具体实施方式中栅格文字粗细调整的方法流程图;
图3是具体实施方式中X方向和Y方向的梯度算子示意图,图3a为X方向梯度算子示意图,图3b为Y方向梯度算子示意图;
图4是具体实施方式中采用矢量形态方式表示像素点纯度的示意图;
图5是具体实施方式中调整方向示意图,图5a是纵向加粗的尺寸调整示意图,图5b是横向加粗的尺寸调整示意图,图5c是斜向加粗的尺寸调整示意图,图5d是全局加粗的尺寸调整示意图;
图6是具体实施方式中纵向加粗过程中计算并集面积的示意图,图6a是同一列的三个相邻像素点示意图,图6b是对三个像素点进行纵向加粗后的示意图,图6c是扩张后三个像素点的关系示意图,图6d是第二个像素点所在正方形内扩充后多边形的并集面积示意图;
图7是具体实施方式中具体图样进行纵向加粗后的效果对比图,图7a是原始栅格文字图样,图7b是加粗0.5像素后的效果示意图,图7c是经纵向加粗1像素后的效果示意图。
具体实施方式
本发明的核心思想是:首先构建文字区域内各像素点的矢量形态;然后根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点的矢量形态;最后将更新后各像素点的矢量形态映射回像素点各通道的灰度,从而实现栅格文字加粗或减细的目的。下面结合附图和具体实施方式对本发明进行详细说明。
图1出示了本实施方式中栅格文字粗细调整系统的结构。如图1所示,该系统包括构建装置11、更新装置12和映射装置13,更新装置12分别与构建装置11和映射装置13连接。构建装置11用于构建文字区域内各像素点的矢量形态。更新装置13用于根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点的矢量形态。所述调整方式包括加粗和减细;调整方向包括全局调整和单向调整,单向调整又包括横向、纵向和斜向。映射装置14用于将更新后各像素点的矢量形态映射回像素点各通道的灰度。
构建装置11包括计算模块I111、判断模块112和转换模块I113。计算模块I111用于计算文字区域内各像素点的纯度,在调整方式为减细时还用于对文字区域内各像素点的纯度进行反转计算,即用255减去像素点当前纯度。判断模块112用于判断文字区域内各纯度非零像素点(即纯度不为零的像素点)所属笔画类型和所属笔画部位。所述笔画类型包括横画、竖画和斜画等,所述笔画部位包括在笔画的上侧、下侧、左侧和右侧等。转换模块I113用于将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内的多边形,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定。
更新装置12包括扩张模块121和计算模块II122。扩张模块121用于依据调整方向和调整尺寸对各像素点所在正方形边框内的多边形进行扩张。计算模块II122用于计算扩张后像素点所在正方形边框内多边形的并集面积。
映射装置13包括转换模块II131和计算模块III132。转换模块II131用于将多边形并集面积转换为像素点的纯度。计算模块III132用于根据像素点的纯度计算像素点各通道的灰度。在调整方式为减细时将多边形并集面积转换为像素点纯度后,计算模块III132还用于将像素点纯度进行反转计算,即用255减去像素点当前纯度。
图2出示了采用图1所示系统调整栅格文字粗细的方法流程。如图2所示,该方法包括以下步骤:
步骤S21:构建装置11构建文字区域内各像素点的矢量形态。
本实施方式中,首先计算文字区域内各像素点的纯度,然后根据像素点的纯度构建各像素点的矢量形态。本发明并不局限于利用纯度来构建像素点的矢量形态,也可以采用其他参照指标。
(1)计算模块I111计算文字区域内各像素点的纯度。
在计算文字区域像素点纯度之前,首先要确定文字区域在栅格图像中的位置。如果栅格图像中包含除文字之外的其他图像元素,则应由用户划定文字区域,排除干扰。但如果整幅图像的非文字部分都是单一背景,则可以不作划定。
确定文字区域在栅格图像中的位置后,依据文字区域前景色、背景色以及像素点的颜色计算文字区域内各像素点的纯度。所述像素点的纯度是反映像素点颜色与前景色的相近程度。
文字区域前景色和背景色可以由用户指定,也可以通过分析栅格图像的方式获得。分析的方法为:前景色由文字区域中文字的颜色决定,文字边缘部分由于存在向背景色的过渡从而造成纯度低,而文字内部的纯度最高。因此需要统计CMYK各通道非边缘部位的文字内部像素的灰度值,其中统计量最大的灰度值即为该通道的前景色。背景色则由文字区域的背景部分的颜色决定,统计距离文字边缘一定距离外的背景部分灰度值,以各通道的灰度值的均值作为该通道的背景色。
像素点的纯度反映像素点颜色同前景色的相近程度,纯度越高的像素点越接近前背色,反之越接近背景色。计算文字区域各像素点纯度的方法具体包括以下步骤:
a.计算文字区域内各通道前景色和背景色的差值。
b.选择前景色和背景色差值最大的通道L。当被处理图像为灰度图时,可以直接将该灰度图的灰度通道作为通道L。
通道L由于前景色和背景色存在最大的差异,因此得到的纯度更为精确。
c.将像素点在通道L中的灰度值与前景色在通道L中的灰度值的相似度作为该像素点的纯度。
本实施方式中,像素点的纯度被归一化为0-255区间的数值。假设前景色和背景色差异最大的通道为L通道,以LA表示该通道前景色,LB表示该通道背景色,L(i,j)表示该像素点在通道L的颜色,则纯度P(i,j)的计算公式如下:
i和j分别表示像素点的横、纵坐标。
当各通道前景色累加值和各通道背景色累加值的差值大于通道L的差值时,优选的,将该像素点在各通道的灰度值累加值与前景色在各通道的累加值的相似度作为该像素点的纯度。上述公式中,L(i,j)则表示该像素点在各通道的灰度值累加值,LA表示该通道前景色累加值,LB表示该通道背景色累加值。
(2)根据像素点的纯度构建各像素点的矢量形态。
当调整方式为加粗时,根据像素点的纯度构建各像素点的矢量形态的方法包括以下步骤:
①判断模块112判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位。
优选的,只判断纯度非零像素点所属的笔画类型和笔画部位,这样可以加快判断速率,因为纯度为零的像素点为背景中的像素点,不属于任何笔画类型。
本实施方式中,笔画类型包括横画、竖画、斜画和过渡型笔画,笔画部位包括在笔画的上侧、下侧、左侧和右侧。
a.计算各纯度非零像素点X方向和Y方向的梯度。
本实施方式中采用Prewitt算子计算像素点梯度,取当前像素点的3*3邻域进行分析。X方向和Y方向的梯度值分别等于邻域内所有像素点纯度值乘以相应权重的累加值。X方向和Y方向的梯度算子如图3所示,图3a为X方向梯度算子,图3b为Y方向梯度算子。
假设当前像素点纯度为P(i,j),权重为W(i,j),X和Y方向梯度分别为GradX和GradY,则像素点X方向和Y方向梯度的计算公式如下:
GradX=∑P(i,j)×WX(i,j),GradY=∑P(i,j)×WY(i,j);
其中,WX(i,j)表示像素点X方向权重,WY(i,j)表示像素点Y方向权重,i和j分别表示像素点的横、纵坐标,i,j∈[-1,1]。
b.比较像素点X方向梯度和Y方向梯度,根据比较结果确定像素点所属笔画类型及所属笔画部位。
当像素点X方向梯度的绝对值远大于Y方向时,该像素点所属笔画类型为竖画;当X方向梯度为正时位于竖画左侧,反之位于竖画右侧。当Y方向梯度的绝对值远大于X方向时,该像素点所属笔画类型为横画;当Y方向梯度为正时位于横画上侧,反之位于横画下侧。当X和Y方向梯度差异不显著时,该像素点所属笔画类型为斜画。斜画根据X和Y方向梯度正负的不同,又区分为四种情况:当X方向梯度为负、Y方向梯度为正时,为斜画类型1;当X方向和Y方向梯度均为正时,为斜画类型2;当X方向梯度和Y方向梯度均为负时,为斜画类型3;当X方向梯度为正、Y方向梯度为负时,为斜画类型4。当X和Y方向梯度都为0时,则为过渡型笔画。
本实施方式中,如果一个方向梯度的绝对值P大于另一个方向梯度的绝对值Q两倍,即P>2Q,则认为一个方向梯度的绝对值远大于另一个方向梯度的绝对值;反之,认为两个方向梯度的绝对值差异不显著。
c.结合像素点的邻域修正部分像素点所属的笔画类型,如横画和竖画连接部位的笔画模型就不能仅取决于梯度,还应依据邻域分布确定。
如果一个像素点符合这样的特征:其自身及其左右像素点的纯度都不为0,其紧邻的一行(上面一行或下面一行)对应部位连续两个像素点的纯度为0,另一个像素点的纯度不为0,则将该像素点所属笔画类型为横画。如果仅依据梯度判断,它可能被误判为斜画。如果一个像素点及其上下像素点的纯度都不为0,其紧邻的一列(左面一列或右面一列)对应部位连续两个像素纯度值为0,另一个像素点的纯度不为0,则该像素点所属笔画类型为竖画。
X方向和Y方向的梯度值都为0的点也不完全都是过渡型笔画。如果某一行连续3个像素点的纯度相同,其上下两行对应部位像素点的纯度都为0,则这些像素点所属笔画类型为横画。如果仅依据梯度判断,则这些像素点所属笔画类型为过渡型笔画。如果一列内连续3个像素点的纯度相同,且其左右两列对应部位像素点的纯度均为0,则这些像素点所属笔画类型为竖画。
以上所举实例只为说明决定像素点所属笔画类型时,梯度是重要的参考,但会根据周边实际像素点的纯度分布修正部分像素点所属的笔画类型,使其尽可能符合真实的笔画形态。
②转换模块I113将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内的多边形,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定。
如图4所示,像素点纯度为255/3,若像素点所属笔画类型为竖画、所属笔画部位为竖画右侧时,则在正方形左侧竖向填充矩形,填充面积为正方形面积的1/3,如图4a所示。像素点所属笔画类型为竖画、所属笔画部位为竖画左侧时,填充结果如图4b所示。同理,若笔画类型为横画,笔画部位为横画上侧,则在正方形下侧填充矩形,如图4c所示。笔画类型为横画,笔画部位为横画下侧时,填充结果如图4d所示。若笔画类型为斜画类型1,则由正方形左下角开始向右上角斜向填充矩形;若笔画类型为斜画类型2,则由正方形右下角开始向左上角斜向填充矩形;其余斜画类型依此类推,如图4f-4i所示。若笔画类型为过渡型笔画,则在正方形中心处填充矩形,如图4e所示。当像素点纯度为255时,填充整个正方形;当像素点纯度为0时,不进行填充,其他情况依此类推。
本实施方式中,为了简化形态表示的复杂度,多边形采用了矩形表示。但矩形并不是所有笔画类型最佳的表示方式,在一些部位上其他类型的多边形更为合适。例如,在横画和竖画交接的拐角部位,把多边形表示为拐尺形状更能符合实际情况。首先检测拐点。所述拐点被定义为这样的点:它的8邻域中某个角部像素点纯度为0,而8邻域中与该角部相邻的两个像素点纯度都不为0。如果一个像素点8邻域中仅左上角像素点纯度为0,那么这个像素点极有可能是在一个横画与竖画的左上拐角位置,而其多边形形态表示为沿像素点所在正方形内右侧和下侧有分布的拐尺形状更为合理。再如,将斜画类型表示为带有坡度的三角形或是梯形更为合理。
当调整方式为减细时,在判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位之前,还包括将文字区域内各像素点的纯度进行反转计算的步骤,即用255减去像素点当前纯度。
步骤S22:更新装置13根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点的矢量形态。
调整方式包括加粗和减细。调整方向包括全局调整和单向调整,单向调整又包括横向、纵向和斜向;斜向调整的方向可以是自定义的任意角度。如图5所示,图5a是纵向加粗的尺寸调整示意图,图5b是横向加粗的尺寸调整示意图,图5c是斜向加粗的尺寸调整示意图,图5d是全局加粗的尺寸调整示意图。调整尺寸可以是0.5像素、1像素、2像素等。
首先由扩张模块121依据调整方向和调整尺寸对各像素点所在正方形边框内的多边形进行扩张;然后由计算模块II122计算扩张后落入像素点所在正方形范围内多边形的并集面积。
图6是纵向加粗过程中计算并集面积的示意图。图6a表示同一列的三个相邻像素点,为了更好的说明扩张过程,所以将三个像素点分开表示。图6b分别对三个像素点进行纵向加粗,加粗尺寸为1/3像素宽度。图6c为扩张后三个像素点的关系图,分别计算每个像素点所在正方形内扩充后得到的并集面积。图6d中的黑色区域为第二个像素点所在正方形内扩充后多边形的并集面积。
随着纵向加粗宽度变大,横画像素点的颜色加深;加深到一定程度则会加粗出新的横画像素点,而竖画基本不受影响,在对栅格文字做亚像素级别粗细调整的同时控制了调整范围与方向。
步骤S23:映射装置13将更新后各像素点的矢量形态映射回像素点各通道的灰度,得到栅格文字粗细调整后的结果。
(1)转换模块II131将多边形并集面积转换为像素点的新纯度。并集面积越大则纯度越高,并集面积占据整个正方形时纯度最大。当并集面积为整个正方形时纯度为255,当并集面积为0时纯度为0。
(2)计算模块III132根据像素点的新纯度采用如下公式计算像素点各通道的灰度:
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示像素点的新纯度,NA表示通道N的前景色,NB表示通道N的背景色。
以通道K为例,KA表示通道K前景色,KB表示通道K背景色,P′(i,j)表示像素点的新纯度,则更新后的像素点纯度映射回通道K的灰度K(i,j)的计算公式如下:
K(i,j)=P′(i,j)×(KA-KB)+KB;i和j分别表示像素点的横、纵坐标。
同理,依据其它通道背景色、前景色以及当前像素点的新纯度,计算出像素点其它通道的灰度,最终得到的各通道灰度为栅格文字粗细调整后的结果。如图7所示,将小文字放大了5倍左右查看加粗效果。图7a所示文字经纵向加粗0.5像素后的效果如图7b所示,经纵向加粗1像素后的效果如图7c所示。
本实施方式中,当对栅格文字进行减细处理时,与加粗处理方式相比,在计算模块I111计算完文字区域各像素点纯度之后,还包括对各像素点纯度进行反转计算的步骤,即用255减去各像素点当前纯度。在转换模块II131将多边形并集面积转换为像素点的新纯度之后,还包括对更新后像素点纯度再次进行反转计算的步骤。其他步骤与加粗方式一致。
将像素点纯度进行反转,即将文字区域前景变成背景,将背景变成前景,也就是将文字区域内的背景当成文字,文字当成背景。通过加粗反转后的前景,来实现背景(即文字)减细的目的。
由上述实施方式可见:本发明以笔画分析为基础,结合文字各像素点的邻域信息调整其颜色或灰度值,能够精细控制像素点内的微观形态变化,调整精度达到亚像素级,调整结果忠实于文字原始结构的同时具有抗锯齿特征。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种栅格文字粗细调整方法,包括以下步骤:
(1)构建文字区域内各像素点的矢量形态;构建文字区域内各像素点矢量形态的方法如下:
①计算文字区域内各像素点的纯度;
②根据像素点的纯度构建各像素点的矢量形态;
当调整方式为加粗时,根据像素点的纯度构建各像素点的矢量形态的方法如下:
判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位;
将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内的多边形,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定;
当所述调整方式为减细时,根据像素点的纯度构建各像素点的矢量形态的方法如下:
将文字区域内各像素点的纯度进行反转计算;
判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位;
将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内的多边形,所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定;
其中,由像素点所属笔画类型和所属笔画部位决定多边形分布位置的具体方式如下:
若像素点所属笔画类型为竖画,在正方形的左侧或者右侧填充多边形;左侧或者右侧的位置由竖画的笔画部位决定;
若像素点所属笔画类型为横画,在正方形的上侧或者下侧填充多边形;上侧或者下侧的位置由横画的笔画部位决定;
若像素点所属笔画类型为斜画,在正方形的四角开始填充多边形,四角的具体位置由斜画的类型决定;
若像素点所属笔画类型为过渡型笔画,在正方形的中心处填充矩形;
当像素点纯度值为设定的最大值时,填充整个正方形,当像素点纯度值为0时,不填充;
(2)根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点的矢量形态;所述调整方式包括加粗和减细;调整方向包括全局调整和单向调整,所述单向调整包括横向、纵向和斜向;更新各像素点的矢量形态的方法如下:
依据调整方向和调整尺寸对各像素点所在正方形边框内的多边形进行扩张;
计算扩张后像素点所在正方形边框内的多边形的并集面积;
(3)将更新后各像素点的矢量形态映射回像素点各通道的灰度;
当调整方式为加粗时,将更新后各像素点的矢量形态映射回像素点各通道灰度的方法如下:
将所述多边形并集面积转换为像素点的新纯度;
根据像素点的新纯度采用如下公式计算像素点各通道的灰度:
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示像素点的新纯度,NA表示通道N的前景色,NB表示通道N的背景色;
当调整方式为减细时,将更新后各像素点的矢量形态映射回像素点各通道灰度的方法如下:
将所述多边形并集面积转换为像素点的新纯度;
将所述新纯度进行反转计算;
根据反转后像素点的纯度采用如下公式计算像素点各通道的灰度:
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示反转后像素点的纯度,NA表示通道N的前景色,NB表示通道N的背景色。
2.如权利要求1所述的栅格文字粗细调整方法,其特征在于:所述像素点的纯度计算方法如下:
计算文字区域内各通道前景色和背景色的差值;
选择前景色和背景色差值最大的通道L;
将所述像素点在通道L中的灰度值与前景色在通道L中的灰度值的相似度作为所述像素点的纯度。
3.如权利要求2所述的栅格文字粗细调整方法,其特征在于:所述像素点的纯度采用如下公式计算:
其中,P(i,j)表示像素点的纯度,L(i,j)表示像素点在通道L的颜色,LA表示通道L的前景色,LB表示通道L的背景色。
4.如权利要求2所述的栅格文字粗细调整方法,其特征在于:当文字区域各通道前景色的累加值和各通道背景色的累加值的差值大于通道L的差值时,将所述像素点在各通道灰度值的累加值与前景色在各通道的累加值的相似度作为所述像素点的纯度。
5.如权利要求1所述的栅格文字粗细调整方法,其特征在于:所述多边形包括矩形、拐尺形、三角形和梯形。
6.如权利要求1所述的栅格文字粗细调整方法,其特征在于:所述判断文字区域内纯度非零像素点所属笔画类型和所属笔画部位的方法如下:
计算纯度非零像素点X方向梯度P和Y方向梯度Q;
比较P和Q,根据比较结果确定所述像素点所属的笔画类型及所属笔画的部位:
当│P│>2│Q│时,该像素点所属笔画类型为竖画,当P为正时,该像素点位于竖画左侧,反之位于竖画右侧;
当|Q│>2│P│时,该像素点所属笔画类型为横画,当Q为正时,该像素点位于横画上侧,反之位于横画下侧;
当│Q│/2≤│P│≤2│Q│时,该像素点所属笔画类型为斜画,当P负、Q正时为斜画类型1,当P和Q均正时为斜画类型2,当P和Q均负时为斜画类型3;当P正、Q负时为斜画类型4;
当P和Q均为0时,该像素点所属笔画类型为过渡型笔画。
7.如权利要求6所述的栅格文字粗细调整方法,其特征在于:在判断出文字区域内纯度非零像素点所属笔画类型和所属笔画部位后,还包括根据像素点的邻域修正部分像素点所属笔画类型的操作,修正的过程如下:
如果一个像素点自身及其左右像素点的纯度都不为0,与其紧邻的一行对应部位连续两个像素点的纯度为0,另一个像素点的纯度不为0,则将该像素点所属笔画类型修正为横画;
如果一个像素点自身及其上下像素点的纯度都不为0,与其紧邻的一列对应部位连续两个像素点的纯度为0,另一个像素点的纯度不为0,则将该像素点所属笔画类型修正为竖画;
如果一行内连续3个像素点的纯度相同,且其上下两行对应部位像素点的纯度均为0,则将这些像素点所属笔画类型修正为横画;如果一列内连续3个像素点的纯度相同,且其左右两列对应部位像素点的纯度均为0,则将这些像素点所属笔画类型修正为竖画。
8.一种栅格文字粗细调整系统,包括用于构建文字区域内各像素点的矢量形态的构建装置(11);构建装置(11)包括用于计算文字区域内各像素点纯度的计算模块I(111),计算模块I(111)在调整方式为减细时还用于对文字区域内各像素点的纯度进行反转计算;
用于判断文字区域内各纯度非零像素点所属笔画类型和所属笔画部位的判断模块(112);
用于将文字区域内各像素点的纯度表示为位于像素点所在正方形边框内多边形的转换模块I(113),所述多边形的面积大小由纯度值决定,多边形的分布位置由像素点所属笔画类型和所属笔画部位决定;由像素点所属笔画类型和所属笔画部位决定多边形分布位置的方式如下:
若像素点所属笔画类型为竖画,在正方形的左侧或者右侧填充多边形;左侧或者右侧的位置由竖画的笔画部位决定;
若像素点所属笔画类型为横画,在正方形的上侧或者下侧填充多边形;上侧或者下侧的位置由横画的笔画部位决定;
若像素点所属笔画类型为斜画,在正方形的四角开始填充多边形,四角的具体位置由斜画的类型决定;
若像素点所属笔画类型为过渡型笔画,在正方形的中心处填充矩形;
当像素点纯度值为设定的最大值时,填充整个正方形,当像素点纯度值为0时,不填充;
用于根据预先设定的调整方式、调整方向和调整尺寸更新所述各像素点矢量形态的更新装置(12);更新装置(12)包括用于依据调整方向和调整尺寸对各像素点所在正方形边框内的多边形进行扩张的扩张模块(121);
以及用于计算扩张后像素点所在正方形边框内多边形并集面积的计算模块II(122)
以及用于将更新后各像素点的矢量形态映射回像素点各通道灰度的映射装置(13);映射装置(13)包括用于将所述多边形并集面积转换为像素点纯度的转换模块II(131);
用于根据像素点的纯度采用如下公式计算像素点各通道灰度的计算模块III(132):
N(i,j)=P′(i,j)×(NA-NB)+NB
其中,N(i,j)表示像素点通道N的灰度,P′(i,j)表示像素点的纯度,NA表示通道N的前景色,NB表示通道N的背景色;
计算模块III(132)在调整方式为减细时将多边形并集面积转换为像素点纯度后,还用于将像素点纯度进行反转计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010231795.9A CN102339396B (zh) | 2010-07-20 | 2010-07-20 | 一种栅格文字粗细调整方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010231795.9A CN102339396B (zh) | 2010-07-20 | 2010-07-20 | 一种栅格文字粗细调整方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102339396A CN102339396A (zh) | 2012-02-01 |
CN102339396B true CN102339396B (zh) | 2014-10-01 |
Family
ID=45515118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010231795.9A Active CN102339396B (zh) | 2010-07-20 | 2010-07-20 | 一种栅格文字粗细调整方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102339396B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570494A (zh) * | 2018-06-05 | 2019-12-13 | 艾司科软件有限公司 | 用于各向异性地修改文本属性以符合分辨率极限的方法和设备 |
CN111260743A (zh) * | 2020-01-08 | 2020-06-09 | 北大方正集团有限公司 | 文字笔画的调整方法和装置 |
CN115691434B (zh) * | 2022-11-08 | 2023-07-07 | 广州文石信息科技有限公司 | 一种基于墨水屏的文字显示方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621273A (en) * | 1982-12-16 | 1986-11-04 | Hewlett-Packard Company | Print head for printing or vector plotting with a multiplicity of line widths |
CN1604135A (zh) * | 2003-09-29 | 2005-04-06 | 德鑫科技股份有限公司 | 单色文字增强方法 |
-
2010
- 2010-07-20 CN CN201010231795.9A patent/CN102339396B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621273A (en) * | 1982-12-16 | 1986-11-04 | Hewlett-Packard Company | Print head for printing or vector plotting with a multiplicity of line widths |
CN1604135A (zh) * | 2003-09-29 | 2005-04-06 | 德鑫科技股份有限公司 | 单色文字增强方法 |
Non-Patent Citations (2)
Title |
---|
对文字进行矢量化的一种算法研究;邓彬伟等;《计算机应用研究》;20051231(第7期);172-173,215 * |
邓彬伟等.对文字进行矢量化的一种算法研究.《计算机应用研究》.2005,(第7期),172-173,215. |
Also Published As
Publication number | Publication date |
---|---|
CN102339396A (zh) | 2012-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102682446B (zh) | 使用自适应联合双边滤波器生成稠密深度图的设备和方法 | |
CN107154030A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
EP1965348A1 (en) | Gray-scale correcting method, gray-scale correcting device, gray-scale correcting program, and image device | |
CN103839250A (zh) | 用于面部图像处理的方法和设备 | |
CN103914699A (zh) | 一种基于色彩空间的自动唇彩的图像增强的方法 | |
CN106903877A (zh) | 一种基于rgb排列的lcd的光固化3d打印抗锯齿优化方法 | |
CN111489322B (zh) | 给静态图片加天空滤镜的方法及装置 | |
CN108510562B (zh) | 基于图像分形纹理的数码迷彩图案生成方法 | |
JP5807489B2 (ja) | 画像処理装置及び画像処理方法、並びにプログラム | |
US8655100B2 (en) | Correcting an artifact in an image | |
US20060285764A1 (en) | Model-based line width control | |
US7777758B2 (en) | Automatic trapping of drop shadows | |
CN114241326B (zh) | 一种渐进式遥感影像地物要素智能生产方法及系统 | |
CN102339396B (zh) | 一种栅格文字粗细调整方法及系统 | |
CN102867180A (zh) | 灰度字符图像归一化装置和灰度字符图像归一化方法 | |
CN108596992B (zh) | 一种快速实时的唇彩化妆方法 | |
JP5429336B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP7151742B2 (ja) | 画像変換装置、画像変換方法及び画像変換用コンピュータプログラム | |
CN104778657B (zh) | 图像二维码融合方法及装置 | |
CN106447659A (zh) | 一种基于多重判定的区域生长检测方法 | |
JP6294700B2 (ja) | 画像処理装置及び画像処理方法 | |
EP2903253A2 (en) | Simulation of preprinted forms | |
CN108182716B (zh) | 一种面向3d打印的基于向量场的图像线刻画生成方法 | |
JP2019145940A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP4708866B2 (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 |