CN1038161C - 利用样条函数曲线放大文字或图形的生成方式 - Google Patents
利用样条函数曲线放大文字或图形的生成方式 Download PDFInfo
- Publication number
- CN1038161C CN1038161C CN93115658A CN93115658A CN1038161C CN 1038161 C CN1038161 C CN 1038161C CN 93115658 A CN93115658 A CN 93115658A CN 93115658 A CN93115658 A CN 93115658A CN 1038161 C CN1038161 C CN 1038161C
- Authority
- CN
- China
- Prior art keywords
- rightarrow
- character
- point
- reference mark
- literal
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及一种利用样条函数曲线放大文字的生成方式,包括对手写文字或图形的放大。利用该方式在字形轮廓上选取适当的点作为样条函数的控制点,采用B样条拟合字符轮廓线,进行字形放大时,经各控制点坐标乘以放大倍率,通过计算各控制点间的样条曲线达到光滑放大的目的,本发明的文字放大方法可实现高倍率放大并保持字形的笔锋特征,不变形,失真小。本发明可供广告宣传和工艺美术等诸多行业用以生成巨幅文字和图案。
Description
本发明涉及文字或图形的放大方法,具体是一种利用样条函数曲线放大文字的生成方式,利用该方式放大文字时,提取文字的轮廓并从中选择样条控制点,使用样条函数生成相应光滑连续的样条曲线,从而达到平滑放大的目的。
关于文字的放大方法,现有技术一般是采用点阵放大法或矢量放大法。点阵放大法一般采用补偿的方法,对放大后的阶梯锯齿点作补偿修正,达到局部平滑的目的,由于字符上每一点都需要进行判断和修正,因此速度较慢,又因为修正只能根据邻近的点的状况来得出,因此只能进行局部平滑,整体效果不佳,从字形的整个轮廓来看仍有可能存在变形。矢量放大法则是先将字样轮廓矢量化,放大时将各矢量按比例分别延长。这种放大方法速度较快,矢量部分光滑,当放大倍数不大时可满足使用要求,但当放大倍数很高时,矢量线方向的差异过大,形成明显的折线,影响字形放大效果。样条函数是一种早已公开的数学方法,中国专利CN1076042采用样条函数描述汉字笔划轮廓,并结合硬件技术还原出汉字点阵信息,这种技术虽然信息压缩比高、还原效率高,但还原出来的字形的逼真度对单个笔划或局部而言或许较好,因为所采用的混合样条函数是以某一笔划中的某一光滑段为描述对象,而还原字形的整体结构失真度较大,与国标字形有差距,这种差距在汉字放大倍率较大时更为明显,这就限制了该发明的实用价值。
本发明的目的在于提供一种文字放大倍数不受限制、充分保证放大文字字形的连续和光滑的文字放大方法,该方法利用样条函数,对文字轮廓线上的点,进行曲线拟合,从整体上形成对文字轮廓的曲线描述,以充分表达结构复杂的方块文字的特点。
为达到上述目的,本发明所述的放大文字的生成方式包括下列依序的各个步骤:
(1)从文字的字模中提取文字的字形轮廓;
(2)从字形轮廓的边缘点集中选取反映整个字形轮廓特征的一些点,作为样条空制点;
(3)利用样条函数对各样条控制点作出曲线拟合,求出各样条控制点间的样条曲线,从而形成对字形轮廓线的曲线描述;
(4)将各样条控制点座标乘以字形的放大倍率,并计算各样条控制点间的样条曲线,获得光滑放大的字形轮廓。
最后产生的光滑放大的字形轮廓可打印输出。
其中样条控制点取自文字的字模轮廓,取点的原则是:
(1)在不造成大的误差的前提下,拉开各样条控制点间的距离,尽量体现字形轮廓的走势特征。
(2)对字形轮廓线上的尖角作出判断,保留尖角点,从而保持笔锋,字形轮廓包括一个字中各个笔划的边缘线,在汉字以及草体字、美术字等的放大中,保留笔锋尤其重要。
(3)对字形轮廓的起始点处的样条控制点序列作出补偿,使曲线起点走势平滑。
样条函数可采用三阶B样函数,其定义式为:
其中
和
是进行曲线拟合的二个相邻的样条控制点的位置向量,
和
是分别与
邻近的样条控制点的位置向量,
是以向量方式表示的、
和
之间的B样条曲线,t是对应于
的相对座标值,t=0或t=1分别对应
的起点
或终点
,t的变化步长为:1/[‖P(1)-P(0)‖]。
由于三阶B样条具有一、二阶导数连续的性质,根据它所生成的字形轮廓曲线将是连接而且光滑的,从而使文字的放大取消了对放大倍数的限制。在实际计算中,样条控制点的位置向量
等都不是等距选取,需要采取适当的t值及其变化步长进行计算,每一个t值对应B样条曲线
上的一个点,则求出连续的曲线。B样条曲线
的端点位置是: 因此对于B1和B2之间作出的B样条曲线的长度为: 而在计算
和
之间B样条曲线所用的插值密度,亦即t的变化步长取为:1/L。
对于手写体的文字,或是其它手写的字符或图形的放大,只要能获取它们的点阵字模,提取其清晰的轮廓曲线,即可利用样条函数,进行上述方法的放大,以获得连续光滑、无失真的放大图文。进行放大前预处理的过程是:
(1)用扫描设备将手写体的文字或图形读入计算机中;
(2)将扫描所获取的图形缩放到适当的大小,再进行二值化处理,去掉离散的小区域点,从而消除扫描时带入的、失真的灰度,并对扫描带入的误差进行修正,使获取的扫描图形非黑即白、轮廓分明,作为字模轮廓;
(3)再对字模轮廓进行初步光滑处理,去掉轮廓上的毛刺,从而获得手写体文字或图形的、标准的字模轮廓。
之后,再利用样条函数按前述的方法进行放大处理。当被放大的文字或图形在输出设备上打印输出时,如果文字或图形的尺寸大于输出设备的打印输出的极限尺寸时,可采用分块输出方法。
本发明弥补了点阵放大法或矢量放大法的不足,在文字放大中能够实现很高的放大倍数,而又能保证文字轮廓的连续、光滑和不变形,失真很小,能保持字形的笔锋,放大处理的速度适中,不仅能放大标准的点阵文字,也能放大手写体的文字或图形,对计算机或输出设备的要求也不高,具有很高的实用性。本发明可供广告宣传和工艺美术等诸多行业用以生成巨幅文字或巨幅案,能大幅度提高产品质量和工作效率。
以下结合附图详述本发明:
图1是本发明的原理框图;
图2是本发明实施例的程序框图;
图3a是假设的文字点阵字模轮廓的一段曲线示意图;
图3b是以图3a中每一点作为样条控制点所拟合的曲线效果示意图;
图4是在眼踪字形轮廓上的点序列时以8个相邻方向取值的链码表示示意图;
图5是跟踪直角形字形轮廓线上的点序列的示意图;
图6是跟踪尖角形字形轮廓线上的点序列的示意图;
图7是利用四个点对其中间两点进行曲线拟合的示意图。
图1表示了整个文字放大方法的基本思想。从上述的三阶B样条函数
来看,在对于相邻的两个样条控制点进行曲线拟合时,也同时参照了这两个样条控制点的相邻的样条控制点,即
和
,这样拟合出来的效果曲线就充分兼顾了邻近笔划的走势,从而保证了拟合曲线的连续和光滑,消除台阶误差和锯齿状失真、变形。
在选定用于曲线拟合的样条函数以后,核心的问题是确定轮廓上的位置向量,亦即样条控制点。如果以字形轮廓线上的每一点作为B样条的控制点,尽管样条拟合曲线会是光滑连续的,但由于原字形轮廓线本身由于其点阵方式而存在一定误差,因而样条拟合曲线将保留原有的误差,这样效果仍不理想,而且计算量很大。如对图3a所示的字形轮廓进行拟合,则样条曲线如图3b所示。所以,尽管样条曲线可以对样条控制点进行很好的拟合和光滑,但要想得到好的拟合和放大效果,就需要选择合适的曲线样条控制点,使这些点能表现出字形曲线的走势,避免将字形离散数值化过程中带入的误差放大,从而保持原字样放大效果。
选取样条控制点的原则是:在不丢失原字形轮廓上主要特征、不造成大失真的前提下,尽量拉开控制点的距离,使样条控制点尽可能地体现整个字形轮廓曲线的走势特征,实现方法体现在以下方面:
1、字形的点阵字模应达到一定精度,使得字模轮廓能表现出较充分的曲线形态,反映笔划特征。建议汉字字模的点阵为128×128以上。
2、重要控制点的选取。
在字形轮廓上的转折点被认为是轮廓线上较重要的点。它表示着轮廓上的一些重要特征。这些点被当作重要的样条控制点保留下来,视为字形的笔锋信息。
判断笔锋点的方法如下:从起始点开始顺时针方向依次寻找下一个轮廓点,使字模点总在轮廓跟踪方向的右边。其中起始点可选取字形轮廓中最上、最左的点。将轮廓线上的点序列以8个相邻方向取值的链码表示,如图4所示。由于轮廓跟踪按8个方向进行,当轮廓有内凹转折时,这种跟踪方式显示不出内凹点。如图5所示的轮廓链码应为…4444222…,而实际跟踪结果的链码是…444322…,其中的直角顶点未反映出来,图中的箭头表示轮廓跟踪方向;如图6所示的轮廓链码应为…444111…,实际跟踪结果的链码是…4311…,其中尖角的内凹拐点也未反映出来。因此,需要施加某些判别规则,以寻找内拐点。
实现时,将轮廓表示为链码的行程码。设三段链码的行程码为:
(dir1,len1),(dir2,len2),(dir3,len3)
其中dir1、dir2、dir3为方向,取值为整数0至7。len1、len2、len3为各方向的长度。若len2=1且满足dir1与dir3为内直角或内锐角,即:
4<(dir3-dir1)mod8<6
和:(dir3-dir1)mod8<(dir2-dir1)mod8
则判定dir1、dir3为内凹转折的两相邻边。求出这两边的交点,修改len1、len3并去掉链码(dir2、len2)即可。
外凸转折点在轮廓跟踪时会被自然显现,设相邻链码为:(dir1、len1)、(dir2、len2)
若:(dir2-dir1)mod8<4
则两边之交点为外凸拐点。
作为笔锋转折点,应当使样条曲线经过这点,而且在这点上发生转折。为此,在轮廓的样条控制点序列中,将所有转折位置向量点连续重复三次,由三阶B样条特点可知样条曲线经过所有转折点并出现相应转折,这样也就保留了笔锋。
3、一般控制点的选取。
点到
点之间的曲线即为B样条函数的拟合曲线
由于
不是转折点(转折点已被作为重要控制点先行选取),因此
和的夹角大于90°,要控制:
若选步长为3,即:
4、轮廓起点的处理。
若轮廓起点为转折尖点,则将起点重复三次(在轮廓起始和结束),使轮廓首尾闭合即可。否则,在控制点序列尾部,加上起始三点,使轮廓线光滑闭合,即采用如下方式:
在按上述方法确定轮廓的样条控制点后,将各位置向量乘以文字放大倍率,对轮廓的样条控制点序列依次作出B样条曲线,每段曲线密度(即t的步长)由本段曲线长度L决定,从而生成光滑顺畅的、放大后的字形轮廓曲线,再根据使用需要,对字形轮廓进行填充或不填充,打印输出后即可使用。
手写体的汉字,包括其它文字或图形,通过预处理同样可使用本发明的方法进行无上限的光滑放大。进行预处理的具体方法是,设置一个周长门限T,抽取扫描图形的轮廓,当轮廓边长小于T时,即认为该轮廓所含区域是离散小区域,去掉轮廓内所含黑点即可。在进行二值化处理后,可利用计算机软件对图形进行适当的增删修改,对扫描带入的误差进行修正。
在对扫描图形进行曲线放大之前,还需对其轮廓进行初步的光滑处理,去掉轮廓上的毛刺。方法是抽取扫描图形的轮廓线,将线上的每一点替换为其前后相邻两点的中点,形成一条新的轮廓线。这条新的轮廓线将比原轮廓线更平滑。反复进行这种交换,直至认为满意为止。
在完成以上处理后,手写体的扫描图形的质量得到很大改善,可以进行曲线放大。
当被放大的文字图形在硬设备上不能一次输出时,采用分块输出的方法。块的大小和数量同输出设备的尺寸相关,当文字图形面积小于或等于输出设备的极限尺寸时为一块,无需分块,否则分为多块。分块的类型同硬设备的性质相适应。一般说来,点阵式输出设备(如打印机)采用条形块,矢量型输出设备(如绘图仪或刻字机)采用矩形块。不论采用何种分块类型,都根据从上至下、从左至右的原则对块进行编号,输出后按编号顺序拼成巨幅字或图形。
图2是依据本发明的方法所实现的计算机软件的程序原理框图, 作为本发明的一个实施例,可以说明本发明的方法的具体实施步骤和顺序。其基本过程与图1所示相同。也是先在字形轮廓上选取适当的点作为样条函数的控制点,采用三次B样条拟合字符轮廓线,当进行字形放大时,将各控制点座标乘以放大倍率,通过计算控制点间的样条曲线达到光滑放大的目的。图2对整个放大字形的方法作了整体描述。在实际使用时已放大并打印输出边缘光滑且美观的上百平方米的巨幅汉字。
图2的具体说明如下:
首先将所需放大的文字字模信息在计算机上调出(放大对象为汉字则调出汉字点阵信息,放大对象为图形则调出该图形轮廓),从文字字模中找出该字形轮廓中的边缘点集,设为E;再设链码集合C的初始值为空集φ,开始选择样条控制点,找出点阵中位于最上、最左的点作为起始点S,可以顺时针方向依次寻找和跟踪E中下一个相邻点,直至回到S,将跟踪所经过的点存入C,同时将这些点从E中删除,这样C中即为全部依序排列好的轮廓边缘点集;再将C中各点表示为链码的行程码,寻找C中的内凹转折边,求出所有内凹转折边相邻两边的交点,作为内凹转折点,去掉内凹转折边,修改其各相邻边,使它们相交于各自的内凹转折点,保证了对轮廓中内凹转折点的描述;取出C中一段封闭轮廓C′,设字形轮廓的样条控制点P为空集φ,将C′中的点,从起点开始,每隔4点取出一点作为控制点存入P,若经过尖锐转折点则将该点重复3次存入P,以保留该转折位置的笔锋特征;若C′的起点为尖锐转折点则将P中的首末点各自重复3次,以保留起始位置的笔锋特征,否则将P中前3点拷贝至P的末尾。最后对P中各样条控制点依次做B样条拟合并进行曲线放大,当C中所有的封闭轮廓都处理完后,整个文字或图形的放大即已完成,可将放大结果分块输出。
Claims (4)
1、一种利用样条函数曲线放大文字的生成方式,其特征在于包括下列依序的各个步骤;
(1)从文字的字模中提取文字的字形轮廓;
(2)从字形轮廓的边缘点集中选取反映整个字形轮廓特征的一些点,作为样条控制点;
(3)利用样条函数对各样条控制点作出曲线拟合,求出各样条控制点间的样条曲线,从而形成对字形轮廓线的曲线描述;
(4)将各样条控制点座标乘以字形的放大倍率,并计算各样条控制点间的样条曲线,获得光滑放大的字形轮廓。
3、根据权利要求1所述的放大文字的生成方式,其特征在于在对手写体的文字或图形的放大之前,要进行预处理,其过程是:
(1)用扫描设备将手写体的文字或图形读入计算机中;
(2)将扫描所获取的图形缩放到适当的大小,再进行二值化处理,去掉离散的小区域点,从而消除扫描时带入的、失真的灰度,并对扫描带入的误差进行修正,使图形非黑即白、轮廓分明;
(3)再对字模轮廓进行初步光滑处理,去掉轮廓上的毛刺,从而获得手写体文字或图形的、标准的字模轮廓。
4、根据权利要求1至3中任一权利要求所述的放大文字的生成方式,其特征在于当被放大的文字或图形在输出设备上打印输出时,如果文字或图形的尺寸大于输出设备的打印输出的极限尺寸,可采用分块输出的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN93115658A CN1038161C (zh) | 1993-12-28 | 1993-12-28 | 利用样条函数曲线放大文字或图形的生成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN93115658A CN1038161C (zh) | 1993-12-28 | 1993-12-28 | 利用样条函数曲线放大文字或图形的生成方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1104790A CN1104790A (zh) | 1995-07-05 |
CN1038161C true CN1038161C (zh) | 1998-04-22 |
Family
ID=4991221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN93115658A Expired - Fee Related CN1038161C (zh) | 1993-12-28 | 1993-12-28 | 利用样条函数曲线放大文字或图形的生成方式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1038161C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100377578C (zh) * | 2005-08-02 | 2008-03-26 | 北京北大方正电子有限公司 | 一种电视字幕文字的处理方法 |
CN102881033B (zh) * | 2012-08-06 | 2018-06-19 | 西安科技大学 | 自适应曲线的生成方法及装置 |
CN111402366B (zh) * | 2020-03-18 | 2023-06-30 | 北京奇艺世纪科技有限公司 | 一种文字渲染方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1020840C (zh) * | 1985-04-01 | 1993-05-19 | 株式会社岛津制作所 | 断层摄影装置 |
CN1022070C (zh) * | 1987-08-10 | 1993-09-08 | 勒内威廉股份公司 | 为制品的重新利用而进行收集和/或制备的方法及设备 |
CN1076042A (zh) * | 1993-03-15 | 1993-09-08 | 北京市海淀区先锋电子技术公司 | 描述汉字轮廓的混合样条函数方法 |
-
1993
- 1993-12-28 CN CN93115658A patent/CN1038161C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1020840C (zh) * | 1985-04-01 | 1993-05-19 | 株式会社岛津制作所 | 断层摄影装置 |
CN1022070C (zh) * | 1987-08-10 | 1993-09-08 | 勒内威廉股份公司 | 为制品的重新利用而进行收集和/或制备的方法及设备 |
CN1076042A (zh) * | 1993-03-15 | 1993-09-08 | 北京市海淀区先锋电子技术公司 | 描述汉字轮廓的混合样条函数方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1104790A (zh) | 1995-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101452444B (zh) | 手写体信息快速编辑排版方法 | |
EP1999688B1 (en) | Converting digital images containing text to token-based files for rendering | |
CN1121662C (zh) | 以直线段为主的手写体字符的预处理方法和手写体识别设备 | |
US5852679A (en) | Image processing apparatus and method | |
CN1054929C (zh) | 产生字符的方法和装置 | |
CN1038161C (zh) | 利用样条函数曲线放大文字或图形的生成方式 | |
Bigelow | The font wars, part 1 | |
US7477265B2 (en) | System and method for optimising halftoning printer performance | |
CN115841671B (zh) | 一种书法字骨架矫正方法、系统及存储介质 | |
JP4143613B2 (ja) | 描画方法、描画装置 | |
JPH0812668B2 (ja) | 手書き校正方法 | |
CN1167302A (zh) | 可生成字符组成要素带连笔的字模的字模生成装置 | |
JP3034140B2 (ja) | 文字生成方法及びその装置 | |
CN1147823C (zh) | 数字化字体轮廓的三角化向量趋近方法 | |
JPH0832471B2 (ja) | 出力方法 | |
JP2000506797A (ja) | プリント物質を節約するプリント装置及び方法 | |
CN1111837C (zh) | 字符图形产生装置 | |
JP4653445B2 (ja) | 手書き情報分割装置、手書き情報分割方法、手書き情報分割プログラム及び記録媒体 | |
Mano et al. | A method to generate writing-brush-style Japanese Hiragana character calligraphy | |
JPH07122787B2 (ja) | 連綿文字作成装置 | |
JP2887263B2 (ja) | 文字変形装置 | |
JPH04262473A (ja) | 多重ステッパーを用いた高速図形画像生成法 | |
IGNOUX | CHARACTER GENERATION AND DISPLAY | |
JP2538631B2 (ja) | ベクトル文字の処理方法 | |
Coueignoux | Character generation and display |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |