一种在yuv图像上叠加文字的方法

文档序号:7890469阅读:2734来源:国知局
专利名称:一种在yuv图像上叠加文字的方法
技术领域
本发明属于视频图像处理的技术领域,具体涉及到一种在YUV图像上叠加文字的方法。
背景技术
在视频监控行业中,YUV (Y是明亮度,即灰阶值;U、V是色度,用来描述图像色彩及饱和度)图像上叠加的文字往往使用点阵字体。使用点阵字体的优点是技术成熟、处理速度快,但它有以下两个主要缺点。I.字体不够美观,当文字放大(或缩小)后,文字模糊。2.字体颜色单一,当文字颜色与视频图像的颜色接近或相同时,无法辨认文字。

发明内容
本发明的技术解决问题是克服现有技术的不足,提供一种在视频图像上呈现清晰、美观的符号的在YUV图像上叠加文字的方法。本发明的技术解决方案是这种在YUV图像上叠加文字的方法,包括以下步骤(I)生成矢量字体字符串的Y图像;(2)计算文字轮廓;(3)把字符串叠加到视频YUV图像。由于矢量字体本身就能够克服放大(或缩小)后文字的失真问题,而又实现带轮廓的显示效果,这样不论视频图像是什么颜色都能够很容易的识别出文字,所以本方法能够在视频图像上呈现清晰、美观的符号。


图I为根据本发明的步骤(2. 3)的示意图;图2为根据本发明的步骤(2)的流程图。
具体实施例方式这种在YUV图像上叠加文字的方法,包括以下步骤(I)生成矢量字体字符串的Y图像;(2)计算文字轮廓;(3)把字符串叠加到视频YUV图像。由于矢量字体本身就能够克服放大(或缩小)后文字的失真问题,而又实现带轮廓的显示效果,这样不论视频图像是什么颜色都能够很容易的识别出文字,所以本方法能够在视频图像上呈现清晰、美观的符号。优选地,所述步骤(I)包括以下分步骤(I. I)选取矢量字体文件,初始化矢量字体引擎,设置字体的高度、宽度、角度、笔画粗细、倾斜、下划线这些参数;(I. 2)根据输入的文字串的编码信息,逐一提取文字的字模信息,然后把字模的轮廓信息光栅化;(1.3)计算字符串位图范围,当字符串位图的范围超过视频YUV图像的范围时,裁剪超出的部分;(I. 4)把单个字符的RGB位图数据拼接成完整的字符串RGB位图,位图的背景色定义为黑色,即1 = 0,6 = 0,8 = 0,文字的颜色定义为白色,S卩R = 255,G = 255,B = 255, 其中R为红色,G为绿色,B为蓝色;(此时定义的文字颜色并不是最终图像上的文字颜色, 只是为了便于后续计算把文字颜色定义为白色)(I. 5)根据以下公式,把字符串位图转换为只有Y值的二维矩阵,Y即亮度值,Y= (33B+65G+13B)/128+16,Ye [16,235],其中 Y 是明亮度,即灰阶值。(该公式用简单的整数运算代替了复杂的浮点数运算,并且省略了 U、V值的计算,大大提高了转换的效率)优选地,所述步骤(2)包括以下分步骤(2. I)把Y矩阵拆分为多个3X3矩阵,若3X3矩阵的周围8个点中至少有I个点不是背景色并且中心点是背景色,该点就是文字的轮廓,则执行步骤(2.2);若3乂3矩阵的周围8个点都是背景色并且中心点是背景色,该点就是背景,则执行步骤(2.3);(2. 2)把该点改为轮廓色;(2. 3)不修改该点的颜色;(2.4)重复执行步骤(2. 1)_(2.3),遍历每一个3X3矩阵,标识出完整的文字轮廓。优选地,所述步骤(3)包括以下分步骤(3. I)根据YUV数据的格式、字符串的起始位置和字符串YUV图像的尺寸,把字符串Y数据映射到YUV图像上;(3. 2)把文字色映射成最终的文字颜色,把轮廓色映射成最终的轮廓颜色;(3. 3)不映射背景色,即对背景色做透明处理;(3.4)重复步骤(3.2)-(3.3),遍历每一个Y矩阵的点,把文字和轮廓绘制到视频 YUV图像上。当前,视频的帧率大多为24帧/秒 30帧/秒。这只意味着,每秒钟需要重复上述步骤24次 30次。这样高频率的进行复杂的运算,会大幅度降低效率。因为视频图像上的文字信息并不会在每一帧图像都改变,当前视频帧的文字信息与上一帧相同时,可以在处理上一帧数据时保存步骤(I. 1)-(1.5)和(2. 1)-(2.4)的中间结果,当前帧就可以使用中间结果跳过步骤(I. 1)-(1.5)和(2. I)-(2. 4),只进行步骤(3. 1)-(3. 3)。这样可以大大提高在YUV图像上叠加带轮廓矢量文字的效率。以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
权利要求
1.一种在YUV图像上叠加文字的方法,其特征在于,包括以下步骤(1)生成矢量字体字符串的Y图像;(2)计算文字轮廓;(3)把字符串叠加到视频YUV图像。
2.根据权利要求I所述的方法,其特征在于,所述步骤(I)包括以下分步骤(I. D选取矢量字体文件,初始化矢量字体引擎,设置字体的高度、宽度、角度、笔画粗细、倾斜、下划线这些参数;(I. 2)根据输入的文字串的编码信息,逐一提取文字的字模信息,然后把字模的轮廓信息光栅化;(1.3)计算字符串位图范围,当字符串位图的范围超过视频YUV图像的范围时,裁剪超出的部分;(I. 4)把单个字符的RGB位图数据拼接成完整的字符串RGB位图,位图的背景色定义为黑色,即R = 0,G = 0,B = 0,文字的颜色定义为白色,即R = 255, G = 255, B = 255,其中 R为红色,G为绿色,B为蓝色;(1.5)根据以下公式,把字符串位图转换为只有Y值的二维矩阵,Y即亮度值,Y= (33B+65G+13B)/128+16,Y e [16,235],其中 Y 是明亮度,即灰阶值。
3.根据权利要求2所述的方法,其特征在于,所述步骤(2)包括以下分步骤(2. I)把Y矩阵拆分为多个3 X 3矩阵,若3 X 3矩阵的周围8个点中至少有I个点不是背景色并且中心点是背景色,该点就是文字的轮廓,则执行步骤(2.2);若3乂3矩阵的周围 8个点都是背景色并且中心点是背景色,该点就是背景,则执行步骤(2.3);(2. 2)把该点改为轮廓色;(2. 3)不修改该点的颜色;(2.4)重复执行步骤(2.1)-(2. 3),遍历每一个3X3矩阵,标识出完整的文字轮廓。
4.根据权利要求3所述的方法,其特征在于,所述步骤(3)包括以下分步骤(3. I)根据YUV数据的格式、字符串的起始位置和字符串YUV图像的尺寸,把字符串Y 数据映射到YUV图像上;(3. 2)把文字色映射成最终的文字颜色,把轮廓色映射成最终的轮廓颜色;(3. 3)不映射背景色,即对背景色做透明处理;(3.4)重复步骤(3.2)-(3. 3),遍历每一个Y矩阵的点,把文字和轮廓绘制到视频YUV 图像上。
全文摘要
公开了一种在视频图像上呈现清晰、美观的符号的在YUV图像上叠加文字的方法,包括以下步骤(1)生成矢量字体字符串的Y图像;(2)计算文字轮廓;(3)把字符串叠加到视频YUV图像。
文档编号H04N5/278GK102595055SQ201210049498
公开日2012年7月18日 申请日期2012年2月29日 优先权日2012年2月29日
发明者邓烽 申请人:北京汉邦高科数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1