一种视频图象叠加的方法及其装置的制作方法

文档序号:7854183阅读:813来源:国知局

专利名称::一种视频图象叠加的方法及其装置的制作方法
技术领域
:本发明涉及一种视频图象叠加的方法,尤其是一种能重复使用摄像机坐标系参数的视频图象叠加方法及其装置。
背景技术
:字符叠加器广泛应用在视频监控应用中,通常用于视频图像上叠加时间、地点等字符信息。已有多个半导体公司推出专门的字符叠加芯片,如NEC公司的upd6453、FUJITSU公司的MB90092。这些芯片特点是只能产生字符点阵,而叠加图像信号视频叠加则需采用图像方式进行叠加,字符叠加芯片通常无法直接应用于叠加图像信号视频叠加。视频系统多种应用领域需要有测试图叠加功能,譬如判定镜头的畸变程度,需要实拍的测试图与无畸变的理论图案进行比对,无畸变的理论图案需要通过测试图叠加获得。又譬如在机器视觉系统应用中,实验室获得叠加摄像机参数,在工程应用中需要重现摄像机坐标,采用测试图叠加办法,可以简化重复摄像机坐标的过程。基于图案的信号视频叠加器的一种实现方案可采用FPGA(或CPLD)为核心的电路实现,其逻辑功能采用VHDL编程定义,加上复杂的外围电路,视频信号经同步分离电路,将场同步与行同步输入至FPGA,FPGA根据同步时序,从ROM中读取叠加图像内容并输出,与原始视频信号相加,输出叠加有叠加图像信号的视频信号。上述ROM中叠加图像内容,预先由测试图片处理后固化到ROM中。采用FPGA方案缺点在于软硬件复杂,整体成本较高,视频信号容易劣化,不容易获得良好的性能。
发明内容本发明要解决的技术问题在于,针对目前视频图像叠加器存在的不足,设计一种结构简单、操作方便,并能重复应用于工程图像制作的视频图像叠加方法。本发明硬件采用单片机,字符叠加芯片,单片机与字符叠加芯片的控制接口相连。一种视频图象叠加的方法,包括以下步骤a、采用绘图软件制作叠加图案;b、将测试图案按字库的字符点阵结构按顺序进行划分,按次序生成字库数据和叠加图案数据;C、生成字库数据写入字符叠加芯片,将叠加图案数据存入单片机;d、单片机运行控制程序,设定字符叠加芯片的工作模式;e、单片机将叠加图案数据按次序写入字符叠加芯片,按索引数据次序调出字符点阵叠加在视频图像上,视频图像获得叠加图案的显示效果。在所述b步骤中若出现重复的字库数据,对应的叠加图案数据指向与重复的字库数据,省去相同的那个字库数据编号,省略重复的字库数据。所述字库数据采用集成在芯片MX7456内的EEPROM存储,通过修改存储在EEPROM内的字库数据,得到叠加图案信号。所述叠加图案采用VC++设计程序,从所述测试图片的BMP文件获取字符点阵。本发明采用摄像机获取测试图片的视频图象信号,通过视频叠加芯片叠加成叠加图案,调节摄像机在调节支架位置,使叠加图案与测试图象叠合,获得在工程应用中能重复使用的摄像机坐标系参数。与现有技术相比具有设备简单,操作容易,易于推广使用的优点。图I为本发明硬件结构示意图。图2为本发明举列一种字符置加芯片的外围电路图。图3为MX7456字符叠加芯片的屏显格式。图4为MX7456字符叠加芯片的点阵排列及存储格式。图5为MX7456字符叠加芯片字库存储结构。图6为叠加图案BMP文件头和文件部分数据截图。图7为叠加图案一种设计图。图8为叠加图案的一种测试图照片。图9为视频置加图案显不照片。具体实施例方式以下结合附图对本发明实施例结构和实施方法作进一步说明。如图I所示,本发明包括一摄像机I、一测试图片2、一调节支架3、一图像信号视频叠加器4和一视频监视器。摄像机I安装在调节支架3上,摄像机I获取测试图片2的视频图象信号,输出的视图信号通过图象信号视频叠加器4,叠加上与测试图片2内容相同的叠加图案,通过调节调节支架3上摄像机位置,也可移动测试图片2的位置使叠加图案与测试图片2相重叠。采用摄像机叠加图案的方法获得摄像机座标参数,在工程应用中能重复使用摄像机坐标系参数。如图2所示,图像信号视频叠加器4包括单片机接口电路JP2、视频叠加芯片Ul,本实施选用MAX7456,以及连接单片机接口和视频叠加芯片Ul的外围电路,摄像机产生的视频信号输入P1,叠加图案后的视频信号从P2输出至显示器,其外围电路及单片机控制接口电路都为已知电路不必详述。本发明实施例采用美信(Maxim)公司的字符型视频叠加芯片MAX7456。原理上与upd6453类似。MAX7456内部集成了同步分离电路、输出驱动电路、屏幕字符显示叠加电路(OSD)0MAX7456显示字库中的字符采用通常的12*18点方式,字库数据采用EEPROM存储,用户可通过修改字库数据得到叠加图案信号。字库数据的生成、存储和调用MAX7456的屏显格式,是按照字符排列方式进行组织,共30列16行,一屏最多显示480字符,由480个单元屏显内存一一对应,按序号依次排列,如图3所示。MAX7456的显示设计中,屏显内存为480个单元,——对应于满屏显示的480个字符,每个屏显内存单元包含2个字节,低字节为显示字符的编码,指向字库中字符位置,高字节为显示属性。显示属性包括显示背景、是否明暗反转、是否闪烁。MAX7456的字库采用集成在芯片内部的EEPROM存储,可通过程序改写,断电内容不丢失。字库最多可存储256个字符,字库中每个字符点阵占用64个字节,实际使用54个字节。每一个点的显示采用2位(bit)表示,若某一点2位为00,表示该点为黑;一点2位为10,表示该点为白;一点2位为01或11,则该点为透明,即该点位置不叠加信息。字库中字符每行12点,需要用3字节(byte)存储;一个字符共18行,则需要54个字节(实际采用64个字节),存储一个字符点阵。一个字符存储格式如图4所示。字库存储结构如图5所示。根据MAX7456的显示格式,叠加图案按照水平显示360点,垂直显示288点进行设计,采用基本图元,包括水平线、垂直线、斜线和圆,如图7所示。按照MAX7456的字符点阵显示格式进行分割,即水平12点垂直18点,将叠加图像转换成字符点阵,构成MAX7456字库。一屏叠加图案获取480个字符点阵,而MAX7456字库容量是256个,若直接将转换后的字符点阵构成MAX7456字库,显然容量不够。对字符点阵进行分析比较,存在若干个相同的字符点阵。对于相同的字符点阵,存储一个,屏显内存可以调用同一个字库点阵,进行显示。从而压缩字库,使之小于256个字符点阵,构成有效的MAX7456字库。叠加图案通过绘图软件(AutoCad、CoreDraw>Photoshop等)制作而成,参照MAX7456显示参数,设定格式为360*288的灰度bmp图像。采用VC++设计程序,从叠加图案的BMP文件获取字符点阵。分析BMP文件格式如下。BMP文件由4部分组成位图文件头(bitmap-fileheader);位图信息头(bitmap-informationheader);颜色表(colortable);颜色点阵数据(bitsdata)。BMP文件结构如下typedefstructtagBITMAPFILEHEADER{WORDbfType;//位图文件的类型,为BMDWORDbfSize;//位图文件的大小,字节WORDbfReservedl;//位图文件保留字,为0WORDbfReserved2;//位图文件保留字,为0DWORDbfOffBits;Il位图数据的起始位置Il文件头的偏移量表示,字节}BITMAPFILEHEADER;叠加图案BMP文件头截图如下0x420x4D是BM的ASCII代码,是BMP文件标识。0x380x990x010x00是文件大小,0x360x04是位图数据偏移量。由于叠加图案为灰度图像格式,因此直接到偏移量位置开始取数据,即是图像数据。此部分数据格式如图6所示。BMP文件信息头BITMAPINF0HEADER结构如下typedefstructtagBITMAPINFOHEADER{DWORDbiSize;//本结构所占用字节数LONGbiffidth;Il位图的宽度,以像素为单位LONGbiHeight;//位图的高度,以像素为单位WORDbiPlanes;//目标设备的级别,必须为IWORDbiBitCount//每个像素所需的位数,必须是I(双色),Il4(16色),8(256色)或24(真彩色)之一DWORDbiCompression;//位图压缩类型,必须是0(不压缩),//I(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一DWORDbiSizelmage;//位图的大小,以字节为单位LONGbiXPelsPerMeter;//位图水平分辨率,每米像素数LONGbiYPelsPerMeter;//位图垂直分辨率,每米像素数DWORDbiClrUsed;//位图实际使用的颜色表中的颜色数DWORDbiClrlmportant;//位图显示过程中重要的颜色数}BITMAPINFOHEADER;分析BMP文件信息,0x280x000x000x00表示本结构所占用字节数为40个,0x680x010x000x00表示位图的宽度为360像素,0x200x010x000x00表示位图的高度为288像素,采用程序获取位图的宽度、高度的过程如下。BITMAPINFOHEADERbmiHeader;if(file.Read((LPSTR)&bmiHeader,sizeof(bmiHeader))!=sizeof(bmiHeader))return;//获得大小信息,并显示intbmffidth=bmiHeader.biffidth;intbmHeight=bmiHeader.biHeight;定义数组pLmbuf口,将BMP文件图像数据读入该数组中。灰度BMP图像文件每一个像素由一个字节表示,转为MAX7456字库则必须二值化,阈值可设为0x80。某一点转换算法可用以下C语句表示if(pLmbuf[m]<0x80)HZTable[n][k*3]=HZTable[n][k*3]&Oxbf;//10111111程序中,对于小于阈值数据,认定BMP图像该像素为黑点,在视频图像上叠加白点;否则,该点为默认的透明点,显示外接的视频信号内容。上述语句中,数组pLmbuf[m]是由灰度BMP文件读入的图像数据,以数组形式进行组织。数组下标m是点的位置,通过循环计算获得。定义二维数组HZTable[][]存储字库点阵,定义数组HzSeek[]为屏显内存,数组HzSeek[]具有480个元素。每新生成一个字符点阵,与该字符点阵之前生成的字符点阵逐个比较,若相同,则不收入字库,在屏显数组HzSeek[]对应元素写入之前生成的字符点阵数组编号。该算法实现的程序如下for(jj=0;jj<n;jj++){b_same=I;for(kk=0;kk〈54;kk++){if(HZTable[n][kk]!=HZTable[jj][kk]){b_same=0;break;}c}if(b_same==I)break;}运算生成字库数据和屏显数组内容,作为MAX7456的单片机控制程序数据。屏显内存数组HzSeek[]部分内容如下unsignedcharHzSeek[]={0x00,0x01,0x02,0x02,0x02,0x02,0x02,0x03,0x02,0x02,0x02,0x02,0x02,…}HzSeek,HzSeek[l],HzSeek[2]分别采用字库中编号为0、1、2字符点阵,·HzSeek[3]、HzSeek[2]、HzSeek[5]、HzSeek[6]显示内容与HzSeek[2]相同,因此也采用字库编号为2的字符点阵,从而压缩了字库,压缩后的图像字库包含210个字符点阵。利用上述210个字符点阵数据和480个屏显数组,编写单片机控制程序,改写EEPROM中的字库内容,并在按照屏显数组逐个将对应的字库点阵进行显示。获得图9的结果,白线为屏显内容,黑线为实际拍摄图像,调整摄像机机位,使叠加图案与实际图像重叠,从而使叠加数据重复利用,并使机器视觉应用系统具有互换性。权利要求1.一种视频图象叠加的方法,其特征是包括以下步骤a、采用绘图软件制作叠加图案;b、将测试图案按字库的字符点阵结构按顺序进行划分,按次序生成字库数据和叠加图案数据;C、生成字库数据写入字符叠加芯片,将叠加图案数据存入单片机;d、单片机运行控制程序,设定字符叠加芯片的工作模式;e、单片机将叠加图案数据按次序写入字符叠加芯片,按索引数据次序调出字符点阵叠加在视频图像上,视频图像获得叠加图案的显示效果。2.根据权利要求I所述的一种视频图象叠加的方法,其特征是在所述b步骤中若出现重复的字库数据,对应的叠加图案数据指向与重复的字库数据,省去相同的那个字库数据编号,省略重复的字库数据。3.根据权利要求I所述的一种视频图象叠加的方法,其特征是所述字库数据采用集成在芯片MX7456内的EEPROM存储,通过修改存储在EEPROM内的字库数据,得到叠加图案信号。4.根据权利要求I所述的一种视频图象叠加的方法,其特征是所述叠加图案采用VC++设计程序,从所述测试图象的BMP文件获取字符点阵。5.根据权利要求I所述的一种视频图象叠加方法所用的硬件,其特征包括一摄像机(I)、一测试图片(2)、一调节支架(3)、一图像信号视频叠加器(4)和一视频监视器,摄像机(1)安装在调节支架(3)上,通过调节调节支架(3)上摄像机位置,使叠加图案与测试图片(2)相重叠。全文摘要一种视频图象叠加的方法,包括以下步骤采用绘图软件制作叠加图案;将测试图案按字库的字符点阵结构按顺序进行划分,按次序生成字库数据和叠加图案数据;生成字库数据写入字符叠加芯片,将叠加图案数据存入单片机;单片机运行控制程序,设定字符叠加芯片的工作模式;单片机将叠加图案数据按次序写入字符叠加芯片,按索引数据次序调出字符点阵叠加在视频图像上,视频图像获得叠加图案的显示效果。本发明采用摄像机获取测试图片的视频图象信号,通过视频叠加芯片叠加成叠加图案,调节摄像机在调节支架位置,使叠加图案与测试图象叠合,获得在工程应用中能重复使用的摄像机坐标系参数。与现有技术相比具有设备简单,操作容易,易于推广使用的优点。文档编号H04N5/265GK102752542SQ20121020967公开日2012年10月24日申请日期2012年6月25日优先权日2012年6月25日发明者叶建波,张培忠申请人:叶建波
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1