复杂盲文点阵图形绘制和内嵌文字输入的方法及装置的制造方法

文档序号:10489786阅读:444来源:国知局
复杂盲文点阵图形绘制和内嵌文字输入的方法及装置的制造方法
【专利摘要】本发明涉及一种复杂盲文点阵图形绘制和内嵌文字输入的方法及装置,属于基于计算机科学的图形处理与分析技术领域,本发明包括多阶贝塞尔曲线绘制、bmp图片到盲文点阵的转换、内嵌盲文字符输入的方法三项内容。对比现有技术,本发明有效的结合画图功能,将所画曲线图形、盲文字符以一种所见即所得的方式呈现给使用者,方便用户判断和观察图形走向;将bmp格式图形以提取特征点的方式呈现给使用者,解决目前盲文图形编辑排版中效率低、正确率低的问题。
【专利说明】
复杂盲文点阵图形绘制和内嵌文字输入的方法及装置
技术领域
[0001] 本发明涉及复杂盲文点阵图形绘制和内嵌文字输入的方法及装置,属于基于计算 机科学的图形处理与分析技术领域。
【背景技术】
[0002] 根据中国残疾人联合会〔2012〕25号文件,截止2010年末我国盲人数量达到1263万 人,是世界上盲人最多的国家。众所周知,盲人接受教育、获取知识的最重要工具及途径就 是盲文(又称点字)及以盲文刊印的书籍。据统计每年出版的盲文出版物只有140种左右,盲 文书籍种类少、更新慢而且多数书籍都是纯文字的,几乎没有配图,其主要原因就是我国缺 少专用的盲文图形编辑排版系统,而常见几何图形如何转为盲文点阵图形是其中的关键技 术之一O
[0003] 国际通用的盲文点字是由法国人路易?布莱尔在十九世纪发明的,以六个凸点 为基本结构,按照一定规则排列,靠触觉感受,亦称点字。所以这种盲文结构也叫布莱 尔盲字体系,世界上所有的盲文均以该方案为基础,结合各自语言特点创造出来。而盲文点 阵图形就是由这些点字拼合而成,盲人通过触摸凸点来辨识图形的轮廓,帮助其理解。
[0004] 盲文图书的纸张规格一般是30*25的,即一行30个点字,一页25行,整页合计4500 个点,盲文图形之所以是点阵图就是因为是通过这些点的凸凹来展现图形的。在盲文图形 编辑排版系统开发之前,盲文图书出版人员在绘制点阵图形时,是通过画一个个盲文点的 形式将需要描绘的图形"画"出来,可见绘制一幅这样的图形不仅费时费力,而且很难保证 准确,修改更是问题,往往为了修改一个位置而重画整幅图像。
[0005] 目前盲文出版的主要方式是将各类明眼人电子版书籍进行翻译转换,原书中往往 包含一些配图以帮助读者理解其中的文字内容,为了尽可能使盲人朋友理解原书的含义, 需要以盲文点阵图的形式重新绘制。目前这个工作都是以人工方式进行的,不仅费时费力, 还达不到预期效果,尤其是诸如三角函数等复杂图形,更是很难通过人工精确绘制。由于盲 文图书篇幅有限且印制方式的区别,其中的配图是单独成页且不与文字内容一起制版刻 印,配图中的文字说明就需要像画图一样一个点一个点输入,效率非常低,而且容易出错, 亟需一种能够通过输入法直接在盲文点阵图中插入盲文点字的方法。
[0006] 贝塞尔曲线在各个领域中都有着广泛的应用,尤其是多阶贝塞尔曲线的使用。然 而生活中的很多画图工具最多只能绘制二阶贝塞尔曲线,并不能实现多次曲线的转折,故 而盲文中实现曲线需要自己绘制并转换为盲文点阵图形。
[0007] 贝塞尔曲线画法不固定,可根据画曲线中扭转的点位置,利用贝塞尔方程求算出 组成曲线的所有点,进而将这些点转换成盲文点。
[0008] 贝塞尔线性公式:
[0009] 给定点P0、P1,线性贝兹曲线只是一条两点之间的直线。这条线由下式给出:
[0010] B(t)=P〇+(Pi-P〇)t = (l-t)P〇+tPi,te[0a]
[0011] 贝塞尔二次方公式:
[0012] 二次方贝兹曲线的路径由给定点PO、PI、P2的函数B (t)追踪:
[0013] B(t) = (l-t)2Po+2t(l-t)Pi+t2P2,te[0a]
[0014] 贝塞尔三次方公式:
[0015] P0、P1、P2、P3四个点在平面或在三维空间中定义了三次方贝兹曲线。曲线起始于 PO走向Pl,并从P2的方向来到P3。一般不会经过Pl或P2;这两个点只是在那里提供方向资 讯。PO和Pl之间的间距,决定了曲线在转而趋进P3之前,走向P2方向的"长度有多长"。
[0016] 曲线的参数形式为:
[0017] B(t)=Po(l-t)3+3Pit(l-t)2+3P2t 2(l-t)+P3t3,te[0,l]
[0018]贝塞尔一般参数公式
[0019] 多阶贝兹曲线可如下推断:给定点P0、P1、…、Pn,其贝兹曲线即:
[0020]
[0021] 利用上述公式,可以描述出一条曲线的走势,t值每一次变动都代表着曲线上的一 个点,这些点组成曲线显示出来。
[0022] 为了解决上述问题,如何能让盲文点阵图形的绘制像正常图形那样简单直观,是 研究的重点,而将现有正常图形自动转换为盲文点阵图是其中的关键。

【发明内容】

[0023] 本发明的目的在于提供一种复杂盲文点阵图形绘制和内嵌文字输入的方法及装 置,该方法可用于盲文书籍出版系统中,解决只能由编辑人员完全以手工的方式将日常生 活中用到的图形"画"出来的问题,提高盲文图形编辑排版的效率。
[0024] 为了实现上述目的,本发明采用了以下技术方案:
[0025] -种复杂盲文点阵图形绘制和内嵌文字输入的方法,包括以下内容:
[0026] 在正常图形编辑器画布的基础上引入了盲文点阵背景格,背景格由若干条水平线 和垂直线组成,以相邻线间的距离为单位1,把背景格作为图形的坐标系,每相邻的水平线 与相邻的垂直线组成一个背景格,即一个盲文点的绘制位置,而在画布上进行绘制的正常 图形就会有一部分线段落在背景格之中,落入背景格的部分即可作为盲文点绘制出来,这 些绘制出来的盲文点则组成图形。本方法的目标就是确定这些盲文点。同时为了解决所述 目的,采用以下三项内容来实现盲文图形图文的转换:
[0027] 一、多阶贝塞尔曲线的绘制及转换;
[0028]二、bmp图片到盲文点阵的转换;
[0029]三、内嵌盲文字符输入的方法。
[0030]作为优选,多阶贝塞尔曲线的绘制及转换通过如下过程实现:
[0031 ] 1)记录起始位置点Ρο,结束位置点Ρη(η> = 1);
[0032] 2)记录点击的下一个点得到拐AP1,再次记录点击的下一个拐点Ρ2点,以此类推, 记录多个点;
[0033] 3)根据多阶贝塞尔曲线公式,将上述点?〇、?1-%,带入方程;
[0034] 4)根据方程中参数t的取值,求得组成该曲线的多个点的坐标;
[0035] 5)根据4)中计算出的各个点的坐标,计算得到每个点在背景方格中的位置,所得 位置为需要绘制的盲文点;
[0036] 作为优选,bmp图片到盲文点阵的转换通过如下过程实现:
[0037] 1)获得载入图片各个像素的像素值,并求得该像素点通道值;
[0038] 2)根据灰度计算公式,将1)中求得通道值转换为灰度值;
[0039] 3)计算图片和绘图区宽高比例值,取两者的最大值η;
[0040] 4)根据3)求得的比值η计算η*η大小的像素方格内的平均灰度值;
[0041] 5)对于平均灰度值小于固定数值的位置为需要绘制的盲文点;
[0042]作为优选,内嵌盲文字符输入的方法通过如下过程实现:
[0043 ] 1)得到点击位置的坐标;
[0044] 2)由坐标值计算点击的位置在绘图区具体哪一方内;
[0045] 3)接收盲文字符,确定该字符在同类型盲文字符中所处的位置序数;
[0046] 4)由位置序号确定当前字符中需要绘制的点的位置;
[0047] 5)在2)所得位置按照4)所得的需要绘制的点位置进行绘制。
[0048] 所得坐标所在的背景格将是需要进行盲文点绘制的位置。
[0049] -种复杂盲文点阵图形绘制和内嵌文字输入的装置,基于上述方法,包括多阶贝 塞尔曲线模块、bmp图片转换模块、内嵌盲文字符输入模块与点计算模块;所述多阶贝塞尔 曲线模块用于通过多阶贝塞尔曲线方程,通过拐点计算起止点范围内所有组成曲线的点坐 标,再使用点计算模块将上述点转换成盲文点;
[0050] 所述bmp图片转换模块用于通过宽高比例,计算有效格内灰度值的平均值来提取 图片描绘点,再使用点计算模块将上述点转换成盲文点;
[0051] 所述内嵌盲文字符输入模块用于通过盲文输入法,计算输入字符中的盲文点的在 背景格中的位置;
[0052] 所述点计算模块用于将坐标系中的任意位置转换为背景格中的盲文点。
[0053]有益效果
[0054]本发明有效的结合画图功能,将所画曲线图形、盲文字符以一种所见即所得的方 式呈现给使用者,方便用户判断和观察图形走向;将bmp格式图形以提取特征点的方式呈现 给使用者,解决目前盲文图形编辑排版中效率低、正确率低的问题。
【附图说明】
[0055]图1是本发明多阶贝塞尔曲线的绘制及转换方法流程示意图。
[0056] 图2是本发明图片到盲文点阵的转换方法流程示意图。
[0057] 图3是本发明内嵌盲文字符输入的方法流程示意图。
[0058] 图4是本发明实施例图片区域到盲文点阵的映射示意图。
【具体实施方式】
[0059] 下面结合附图和实施例对本发明的实施过程进行详细介绍。
[0060] 本发明的一种复杂盲文点阵图形绘制和内嵌文字输入的方法,包括多阶贝塞尔曲 线的绘制及转换;图片到盲文点阵的转换;内嵌盲文字符输入的方法三项内容;通过这三类 内容的输入实现盲文点阵图形的绘制像正常图形那样简单直观。
[0061 ]下面对这三类图形的绘制举例说明:
[0062] 如图1所示为多阶贝塞尔曲线的绘制及转换方法流程示意图,包括如下步骤:
[0063] 1)记录曲线的起始位置点Ρο,结束位置点Pn(n> = 2);
[0064] 2)记录曲线的第一个拐AP1,再次记录下一个拐点内点,以此类推,记录最后一个 拐点p n-i,得到所有拐点序列Pr"Pn-!;
[0065] 3)根据贝塞尔曲线公式,将上述点Po、Pr"Pn,代入如下多阶贝塞尔方程:
[0066]
[0067] 得到夫十参数t的该多阶災塞尔曲线的具体万程;
[0068] 4)根据方程绘制贝塞尔曲线;
[0069]为了使得所画贝塞尔曲线更精确,同时根据绘图区大小判断,根据方程中参数t的 取值,t每次步进0.001,t的取值从0开始,随着t值的变化得到1001个点的坐标,将所得到点 依次连接,组成该条贝塞尔曲线;
[0070 ] 5)计算4)中1001个点的坐标所在方格的位置,根据每个组成点的坐标值计算该点 在背景格中的具体位置,得到的位置为需要绘制的盲文点位置。
[0071]举例说明:以三阶贝塞尔曲线为例,则η = 3,三阶公式为:
[0072]由点Ρο(5,5)到Ρ3(25,30)的贝塞尔曲线,途径?1(15,10)、? 2(20,25)两个拐点。 [0073] t = 0,第一点为Po的坐标,
[0074] t 每次步进 0.001;
[0075] t = 0.001时,根据贝塞尔三次方公式
[0076] B(t)=Po(l-t)3+3Pit(l-t)2+3P2t 2(l-t)+P3t3,te[0,l]可知
[0077]第二点横坐标为:
[0078] B(0·001) = 5*(1-0·001 )3+3*15*0.001*(1-0.001 )2+3*20*0.0012*(1-0.001)+25* 0.0013;
[0079] 第二点纵坐标为:
[0080] B(0·001) = 5*(1-0·001 )3+3*10*0.001*(1-0.001 )2+3*25*0.0012*(1-0.001)+30* 0.0013;
[0081 ] 依次类推可求出剩余999个点的坐标,
[0082] t = l时,第1001个点为P3的坐标;
[0083]这1001个点组成贝塞尔曲线,且每个点为需要绘制的盲文点。
[0084] 图2所示为bmp图片到盲文点阵的转换方法流程示意图,它包括如下步骤:
[0085] 1)载入bmp格式图片;
[0086] 2)依次获取图片中各个像素点的像素值;
[0087] 3)根据像素值获取当前像素点的红绿蓝三色的通道值;
[0088] 4)根据灰度计算公式Gray = Ab*Cb+Ag*Cg+Ar*Cr,将2)中求得三个通道值转换为 灰度值,进而得到载入图片的所有像素点的灰度值;其中Ab、Ag、Ar为三个通道值,Cb、Cg、Cr 为对应参数;
[0089] 5)根据所求各像素点的灰度值,将图片四周每一行或每一列灰度值都等于255的 空白区域裁剪掉;
[0090] 6)分别计算裁剪后的图片有效宽高和绘图区方格的宽高比例Nw、Nh,比较两者的数 值(n = Nw> = Nh?Nw:Nh),选择两者间大的比例记为n,当η小于1时记为1;
[0091] 7)根据6)的计算结果,η等于1时跳转到8),η大于1时将5)中裁剪后的图片像素点 按从左到右、自上而下的顺序以η为单位划分成若干个包含η*η个像素的正方形区域,遇到 边缘不足η个像素的以该剩余像素个数为准,每个区域按划分位置依次对应绘图区背景格 中的一个位置,分别计算每个模块的灰度平均值,记为该模块对应背景格的灰度值;
[0092] 8)将图片中各像素点按从左到右、自上而下的顺序依次对应绘图区的一个背景 格,每个背景格记录对应像素的灰度值;
[0093] 9)依次判断绘图区背景格中的灰度值,对于灰度值小于给定数值的位置为需要绘 制的盲文点。
[0094] 举例说明:系统载入一张bmp格式图片,依次可以获取到每一个成像点的像素值, 通过系统函数GetRValue可以得到组成该像素点r、g、b红绿蓝三种颜色的通道值,根据自定 义灰度计算公式:Gray=Ab*Cb+Ag*Cg+Ar*Cr可以得到当前点的灰度值,从而得到载入图片 的所有像素点的灰度值,将所有灰度值存入到数组中。计算载入图片宽高和绘图区方格的 宽高比例,选择两者间大的比例进行缩小,比例小于1的,不缩小。比如,绘图区的方格宽60, 高72,载入图片为415*351像素,415/60 = 6.9,向上取整即7倍,351/72 = 4.8, 即5倍,所以图 片缩小7倍。即计算宽高各为7像素的方块内所有点灰度值的平均值记为对应背景格的灰度 值,如图4所示,上方为背景格的一部分,下方为对应的图片像素区域,al区域的灰度平均值 对应Al背景格,图片横向最后和纵向最后可能不够7像素的,按有效值的像素点计算平均 值,如图4中c 1区域宽有4个像素、长有7个像素,则只需计算这28个像素点的灰度平均值,对 应Cl背景格。所有区域计算完毕后,背景格内的灰度值决定是否转换为盲文点,灰度值大于 预定值的,不画点。以此方式,将图片中划分的各个区域进行计算,完成图片到盲文点阵图 的转换。
[0095] 上述内容仅以bmp格式图片举例说明如何将载入的图片转换为盲文点阵,并不限 于bmp格式图片。
[0096] 图3所示为内嵌盲文字符输入的方法流程示意图,它包括如下步骤:
[0097 ] 1)点击绘图区,得到点击位置的坐标;
[0098] 2)由1)中求得的坐标值计算点击的位置在绘图区具体哪一方内;
[0099] 绘图区背景默认由横向30方盲文,纵向26行构成,每一方又由竖3横2的6个方格构 成。为了使插入的盲文字在最终的文档中不被拆分到上下两行或同一行的左右两方中,所 以插入盲文字符必须在同一方内,这就需要计算点击位置属于哪一小方格,这一小方格又 属于哪一行的哪一方。
[0100] 3)由该方的位置确定需要输入的盲文字符串的起始位置坐标;
[0101] 4)接收盲文字符;
[0102] 5)根据输入字符的Unicode码确定该字符在同类型盲文字符中所处的位置序数;
[0103] 从字符到"择"的63个盲文字符中,其中每一个盲文字符顺序都是固定的,而 且排列有规律,所以很容易找到输入字符的序数。
[0104] 6)根据下表所示内容,由5)所得序数依次和表中所示十六进制数做按位与运算, 只要结果中有一位是1,则盲文序号点位的对应位置为需要显示的盲文点位置;
[0106] 7)由6)得出的方内显示位置及3)的计算位置确定该字符所要显示的具体位置;
[0107] 举例说明:键盘输入盲文字符"II",当前字符的Unicode码为E09A,由当前字符同 类型字符最开始字符Unicode码为E05E,可得出输入字符为第61个字符。盲文字符共有63 个,最多由六个点组成。每方字符按从上到下,再从左到右的顺序可划分为6个位置;那么只 有第6点存在的字符为第32个,第五点存在的字符为16个,第4点存在的字符为8个,第3点存 在的字符为4个,第2点存在的为2个,第1点只有一个;由字符的位置数来计算哪个点是存在 的。
[0108] 61的十六进制表示为0x3D,即0x3D&0x20,结果为1可知存在第6点;0x3D&0xl0,结 果为1可知存在第5点;0x3D&0x08,结果为1可知存在第4点;0x3D&0x04,结果为1可知存在第 3点,0x3D&0x02,结果为0不存在第2点,Ox3D&〇 X〇l,结果为1存在第一点。由此可将输入的字 符显示在绘图区域中。
[0109] 基于上述三种方法实现了图形和盲文字符转换为盲文点阵形式图形的方法,所得 坐标所在的背景格将是需要进行盲点绘制的位置。
[0110]根据上述内容,本发明还实现了一种复杂盲文点阵图形绘制和内嵌文字输入的 装置,该装置包括多阶贝塞尔曲线模块、bmp图片转换模块、内嵌盲文字符输入模块与点计 算模块;
[0111] 所述多阶贝塞尔曲线模块用于通过多阶贝塞尔曲线方程,通过拐点计算起止点范 围内所有组成曲线的点坐标,再使用点计算模块将上述点转换成盲文点;
[0112] 所述bmp图片转换模块用于通过宽高比例,计算有效格内灰度值的平均值来提取 图片描绘点,再使用点计算模块将上述点转换成盲文点;
[0113]所述内嵌盲文字符输入模块用于通过盲文输入法,计算输入字符中的盲文点的在 背景格中的位置;
[0114] 所述点计算模块用于将坐标系中的任意位置转换为背景格中的盲文点。
[0115] 以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说 明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范 围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。
【主权项】
1. 一种复杂盲文点阵图形绘制和内嵌文字输入的方法,其特征在于,该方法包括多阶 贝塞尔曲线绘制及转换、bmp图片到盲文点阵的转换、内嵌盲文字符输入三项内容。2. 根据权利要求1所述的一种复杂盲文点阵图形绘制和内嵌文字输入的方法,其特征 在于:所述多阶贝塞尔曲线绘制及转换通过以下过程实现: 1) 记录起始位置点Ρο,结束位置点Pn(n> = 1); 2) 记录点击的下一个点得到拐APi,再次记录点击的下一个拐点Ρ2点,以此类推,记录 多个点; 3) 根据多阶贝塞尔曲线公式,将上述点Po、Pr-Pn,带入方程; 4) 根据方程中参数t的取值,求得组成该曲线的多个点的坐标; 5) 根据4)中计算出的各个点的坐标,计算得到每个点在盲文点阵背景方格中的位置, 所得位置为需要绘制的盲文点。3. 根据权利要求1所述的一种复杂盲文点阵图形绘制和内嵌文字输入的方法,其特征 在于:所述bmp图片到盲文点阵的转换通过以下过程实现: 1) 获得载入图片各个像素的像素值,并求得该像素点通道值; 2) 根据灰度计算公式,将1)中求得通道值转换为灰度值; 3) 计算图片和绘图区宽高比例值,取两者的最大值η; 4) 根据3)求得的比值η计算η*η大小的像素方格内的平均灰度值; 5) 对于平均灰度值小于固定数值的位置为需要绘制的盲文点。4. 根据权利要求1-3任一所述的一种复杂盲文点阵图形绘制和内嵌文字输入的方法, 其特征在于:所述内嵌盲文字符输入通过以下过程实现: 1) 得到点击位置的坐标; 2) 由坐标值计算点击的位置在绘图区具体哪一方内; 3) 接收盲文字符,确定该字符在同类型盲文字符中所处的位置序数; 4) 由位置序号确定当前字符中需要绘制的点的位置; 5) 在2)所得位置按照4)所得的需要绘制的点位置进行绘制。5. -种复杂盲文点阵图形绘制和内嵌文字输入的装置,其特征在于:包括多阶贝塞尔 曲线模块、bmp图片转换模块、内嵌盲文字符输入模块与点计算模块; 所述多阶贝塞尔曲线模块用于通过多阶贝塞尔曲线方程,通过拐点计算起止点范围内 所有组成曲线的点坐标,再使用点计算模块将上述点转换成盲文点; 所述bmp图片转换模块用于通过宽高比例,计算有效格内灰度值的平均值来提取图片 描绘点,再使用点计算模块将上述点转换成盲文点; 所述内嵌盲文字符输入模块用于通过盲文输入法,计算输入字符中的盲文点的在背景 格中的位置; 所述点计算模块用于将坐标系中的任意位置转换为背景格中的盲文点。
【文档编号】G06T9/00GK105844679SQ201610210110
【公开日】2016年8月10日
【申请日】2016年4月6日
【发明人】黄河燕, 叶宇, 孟德纯
【申请人】华建宇通科技(北京)有限责任公司, 北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1