Lcd数显仪示值的图像识别方法

文档序号:6429155阅读:320来源:国知局
专利名称:Lcd数显仪示值的图像识别方法
技术领域
本发明涉及一种IXD数显仪示值的图像识别方法。
背景技术
IXD数显仪在科研、生产以及日常生活中的应用非常广泛,但是由于很多IXD数显仪的输出只有一个数显窗口,没有其他的信号输出,因此LCD数显仪示值的读取通常只能由人工来完成,这造成操作人员的工作量大,且容易造成人为误差。

发明内容
为克服现有的LCD数显仪示值读取只能由人工完成、劳动强度高、容易造成人为误差的缺点,本发明提供了一种可由计算机识别、人工劳动强度低、不存在人为误差的LCD 数显仪示值的图像识别方法。IXD数显仪示值的图像识别方法,包括以下步骤(a)、读取摄像机的视频流,间隔预设时间获取帧,得到图像;(b)、确定数字所在的区域,该区域内仅包含数字,截取该区域的图像作为后续处理的图像;(C)、对图像进行预处理,将图像转换为二值化图像,并将二值化图像中的每个数字分隔为单独的纯数字图像,依次存储纯数字图像,所有的纯数字图像中的数字进行笔画纠正处理;(d)、依次识别纯数字图像代表的数字含义和小数点,并计算IXD数显仪示值。进一步,步骤(b)中,通过人机交互的方式确定数字所在的区域。进一步,步骤(c)中的图像预处理包括以下步骤(c. 1)对图像进行灰度化处理,获得灰度化图像;(c. 2)判断灰度化图像的宽度是否小于灰度化图像的高度,若小于,则表示灰度化图像中的数字竖直显示,将灰度化图像顺时针旋转90°,使灰度化图像中的数字水平显示;(c. 3)对灰度化图像进行求补运算,得到数字区域为高亮度显示,背景区域为低亮度显示的灰度图像;(c. 4)使用图像形态学的开运算和闭运算计算出灰度图像的背景亮度并获得背景图像,用灰度图像减去背景图像,获得等亮度图像;(c. 5)计算等亮度图像的二值化阈值,并根据这个阈值将等亮度图像转化成二值化图像;(c. 6)对二值化图像进行纠斜,纠斜后形成的水平数字图像中数字的横笔画水平显不;(c. 7)逐列扫描水平数字图像,将水平数字图像分隔为多幅单个数字图像,每幅单个数字图像中只包含一个数字,或者只包含一个小数点;
(c. 8)对步骤(C. 7)中获取的所有单个数字图像进行逐行扫描,获取单个数字图像中数字的上边界和下边界,获取上边界和下边界之间的图像数据作为纯数字图像数据, 保存所述的纯数字图像;(c. 9)使用数字笔画方差纠正法对所有的纯数字图像中的数字进行笔画纠正处理,使处理后的图像中的数字横笔画水平显示,竖笔画铅直显示。进一步,在步骤(C. 3)获得灰度图像后,需要对所述的灰度图像进行滤波,以消除失真和噪声。进一步,步骤(c. 7)中将水平数字图像分隔为多幅单个数字图像的步骤包括以下步骤(c. 7. 1)获取水平数字图像的最左边一列作为当前列;(c. 7. 2)从当前列开始按从左到右的顺序对水平数字图像进行逐列扫描,寻找白点的个数大于预设列白点个数阈值的列,若无法找到该列,则表示已经完成对水平数字图像的扫描,进入步骤(c.8);若找到该列,则将该列作为单个数字图像的左边界;继续向右扫描,寻找白点的个数小于预设列白点个数阈值的列,若无法找到该列,则表示已经完成对水平数字图像的扫描,进入步骤(c. 8);若找到该列,则将该列作为单个数字图像的右边界;将左边界与右边界之间的图像数据作为单个数字图像数据,保存所述的单个数字图像;(c. 7. 3)将步骤(c. 7. 2)中的右边界的后一列作为当前列,重复执行步骤 (c. 7. 2)。进一步,步骤(C. 8)中生成纯数字图像的步骤包括以下步骤(c. 8. 1)获取步骤(C. 7)中的第一幅单个数字图像为当前单个数字图像;(c. 8. 2)对当前单个数字图像从上往下逐行扫描,直到寻找到第一个包含的白点个数大于预设行白点个数阈值的行,将该行作为纯数字图像的上边界;对当前单个数字图像从下往上逐行扫描,直到寻找到第一个包含的白点个数大于预设行白点个数阈值的行, 将该行作为纯数字图像的下边界;获取上边界和下边界之间的图像数据作为纯数字图像数据,保存所述的纯数字图像;(c. 8. 3)判断当前的单个数字图像是否是最后一幅单个数字图像,若是,进入步骤 (c. 9);若否,则将下一幅单个数字图像作为当前单个数字图像,重复执行步骤(c. 8. 2)。进一步,步骤(c. 9)中使用数字笔画方差纠正法对所有的纯数字图像中的数字进行笔画纠正包括以下步骤(c. 9. 1)取第一幅纯数字图像为当前纯数字图像;循环次数η置0,临时变量temp 置0,计算当前纯数字图像每列的白点个数,所有列的白点个数形成第一数组,每一列的白点个数作为第一数组的一个元素,对第一数组求方差err ;(c. 9. 2)取当前纯数字图像的副本为临时纯数字图像,将临时纯数字图像的第m 行向右移动tanfcXO. 5° ) Xm个像素,删除移出右侧边界的像素点,左侧移入的像素点补黑点;其中,m的取值范围为0到图像的高度减1 ;(c. 9. 3)计算临时纯数字图像每列的白点个数,所有列的白点个数形成第二数组, 对第二数组求方差errl ;(c. 9. 4)判断errl是否大于err,如果是,则将errl赋值给err,循环次数η赋值给临时变量temp ;如果不是,进入步骤(c. 9. 5);(c. 9. 5)循环次数 η 力口 1 ;(c. 9. 6)判断η是否小于等于20,如果是,返回步骤(c. 9. 2);如果不是,进入步骤 (c. 9. 7);(c. 9. 7)将当前纯数字图像的第m行向右移动tan (tempXO. 5° )Xm个像素,删除移出右侧边界的像素点,左侧移入的像素点补黑点,完成对当前纯数字图像中的数字笔画纠正处理;其中,m的取值范围为O到图像的高度减1 ;(c. 9. 8)去掉数字笔画纠正处理后当前纯数字图像左侧没有白点的黑色区域,使当前纯数字图像的左边沿与数字的左边沿重合。(c. 9. 9)判断当前纯数字图像是否是最后一幅纯数字图像,若是,进入步骤(d); 若否,则将下一幅纯数字图像作为当前纯数字图像,进入步骤(c. 9. 2)进一步,在进行步骤(C. 6)之前,先去除二值化图像中的杂点,方法为计算二值化图像的每一个白点区域内的白点个数,判断白点个数是否大于预设阈值,若是,则该白点区域为数字区域;若否,则该白点区域为杂点,将该白点区域内的所有白点置为黑点。进一步,步骤(d)中,使用七段分区法依次识别纯数字图像代表的数字含义和小数点以及计算LCD数显仪示值包括以下步骤(d. 1)在计算机中预设数字O和2-9的数字列表;(d. 2)获取所有纯数字图像的高度,将高度的最大值记录为maX_height,并获取第一幅纯数字图像作为当前纯数字图像;(d. 3)获取当前纯数字图像的高度height,判断height <maX_height X0. 3是否成立,若成立,则当前纯数字图像代表的含义为小数点,记录当前纯数字图像在所有纯数字图像中的位置,这个位置也就是小数点在数字中的位置,进入步骤(d.6);若否,则进入步骤(d. 4);(d. 4)获取当前纯数字图像的宽度width,判断width < height X 0.3是否成立, 若成立,则当前纯数字图像代表的含义为数字1,进入步骤(d.6);若不成立,则进入步骤 (d. 5);(d. 5)将当前纯数字图像与所述的数字列表比对,获得当前纯数字图像代表的数字含义;(d. 6)判断当前纯数字图像是否最后一幅纯数字图像,若是,则利用所有的纯数字图像的识别结果计算出IXD数显仪示值;若否,则获取下一幅纯数字图像作为当前纯数字图像,重复执行步骤(d. 3)-(d. 5)。进一步,步骤(d. 1)中的数字列表为使用七段分区法标识的数字列表;所述的七段分区法标识的数字是指将纯数字图像用三段横线和四段竖线分为七段区域,上横线为a 区域,中横线为g区域,下横线为d区域,左边的上竖线为f区域,左边的下竖线为e区域, 右边的上竖线为b区域,右边的下竖线为c区域;使用七段分区法标识的数字列表中的列表信息与数字O和2-9 —一对应;在每个数字的列表信息中,若该数字对应的纯数字图像的分段区域内有线段标示,则将该段区域的标记赋值为1 ;若分段区域内没有线段标示,则将该段区域的标记赋值为0。进一步,步骤(d. 5)中获得当前纯数字图像代表的数字含义包括以下步骤
(d. 5. 1)分别获取当前纯数字图像的七段分区内的白点个数,若所述的分区内的白点个数大于或等于30%的该分区内的像素点个数,则将该分区的标记置为1,否则置为 0 ;记录当前纯数字图像的七段分区标记赋值;(d. 5. 2)将当前纯数字图像的七段分区标记赋值与数字列表的信息比对,确定当前纯数字图像代表的数字含义,如果当前纯数字图像的七段分区标记赋值不与数字列表的信息中的任何一个符合,则本次识别无效,舍弃本次识别。本发明的技术构思是由于很多IXD数显仪的输出只有一个数显窗口,没有其他的信号输出,所以本发明使用图像识别的方法读取LCD数显仪示值,其中包括数字笔画方差纠正法和七段分区法,图像识别的步骤为计算机读入摄像机的视频流;间隔一定时间获取帧,得到图像;使用人机交互的方式确定图像中数字所在区域,并将这个区域提取出来作为后续处理的图像;将图像转换为二值化图像;将二值 化图像中的每个数字分隔成单独的纯数字图像;使用数字笔画方差纠正法对纯数字图像中的数字进行笔画纠正处理;最后使用七段分区法依次识别纯数字图像代表的数字含义并计算出LCD数显仪示值。使用数字笔画方差纠正法对纯数字图像中的数字进行笔画纠正处理的思想是相比纯数字图像中的数字横笔画水平显示、竖笔画不铅直显示的情况,纯数字图像中的数字横笔画水平显示、竖笔画铅直显示时,纯数字图像中有更多的白点集中在一部分列上,即纯数字图像中所有列的白点个数的方差更大,不断地对纯数字图像的行按一定的倾斜角度进行移位,当所有列的白点个数方差最大时,图像上的数字横笔画水平显示,竖笔画铅直显示,实现对数字笔画的纠正。目前对数字进行图像识别的方法主要有神经网络、穿线法和模式匹配,本发明提出七段分区法识别数字,这是一种基于统计思想的新的对数字进行图像识别方法,这种方法实现简单,正确率高而且能识别不同类型的LCD/LED数字。本发明的有益效果是数显式仪表中的数字可由计算机识别、人工劳动强度低,不存在人为误差。


图1为本发明的图像识别总体流程图。图2为本发明的图像预处理流程。图3为本发明的使用数字笔画方差纠正法对纯数字图像中的数字进行笔画纠正处理流程图。图4为本发明的七段分区法标识数字示意图。图5为本发明的七段分区法识别单个数字流程图。图6为本发明的数字含义列表。
具体实施例方式参照附图,进一步说明本发明IXD数显仪示值的图像识别方法,包括以下步骤(a)、读取摄像机的视频流,间隔预设时间获取帧,得到图像;(b)、确定数字所在的区域,该区域内仅包含数字,截取该区域的图像作为后续处理的图像;

(C)、对图像进行预处理,将图像转换为二值化图像,并将二值化图像中的每个数字分隔为单独的纯数字图像,依次存储纯数字图像,对所有的纯数字图像中的数字进行笔画纠正处理;(d)、依次识别纯数字图像代表的数字含义和小数点,并计算IXD数显仪示值。步骤(b)中,通过人机交互的方式确定数字所在的区域。步骤(c)中的图像预处理包括以下步骤(c. 1)对图像进行灰度化处理,获得灰度化图像;(c. 2)判断灰度化图像的宽度是否小于灰度化图像的高度,若小于,则表示灰度化图像中的数字竖直显示,将灰度化图像顺时针旋转90°,使灰度化图像中的数字水平显示;(c. 3)对灰度化图像进行求补运算,得到数字区域为高亮度显示,背景区域为低亮度显示的灰度图像;(c. 4)使用图像形态学的开运算和闭运算计算出灰度图像的背景亮度并获得背景图像,用灰度图像减去背景图像,获得等亮度图像;(c. 5)计算等亮度图像的二值化阈值,并根据这个阈值将等亮度图像转化成二值化图像;(c. 6)对二值化图像进行纠斜,纠斜后形成的水平数字图像中数字的横笔画水平显不;(c. 7)逐列扫描水平数字图像,将水平数字图像分隔为多幅单个数字图像,每幅单个数字图像中只包含一个数字,或者只包含一个小数点;(c. 8)对步骤(C. 7)中获取的所有单个数字图像进行逐行扫描,获取单个数字图像中数字的上边界和下边界,获取上边界和下边界之间的图像数据作为纯数字图像数据, 保存所述的纯数字图像;(c. 9)使用数字笔画方差纠正法对所有的纯数字图像中的数字进行笔画纠正处理,使处理后的图像中的数字横笔画水平显示,竖笔画铅直显示。在步骤(c. 3)获得灰度图像后,需要对所述的灰度图像进行滤波,以消除失真和噪声。步骤(c. 7)中将水平数字图像分隔为多幅单个数字图像的步骤包括以下步骤(c. 7. 1)获取水平数字图像的最左边一列作为当前列;(c. 7. 2)从当前列开始按从左到右的顺序对水平数字图像进行逐列扫描,寻找白点的个数大于预设列白点个数阈值的列,若无法找到该列,则表示已经完成对水平数字图像的扫描,进入步骤(c.8);若找到该列,则将该列作为单个数字图像的左边界;继续向右扫描,寻找白点的个数小于预设列白点个数阈值的列,若无法找到该列,则表示已经完成对水平数字图像的扫描,进入步骤(c. 8);若找到该列,则将该列作为单个数字图像的右边界;将左边界与右边界之间的图像数据作为单个数字图像数据,保存所述的单个数字图像;(c. 7. 3)将步骤(c. 7. 2)中的右边界的后一列作为当前列,重复执行步骤 (c. 7. 2)。
步骤(c. 8)中生成纯数字图像的步骤包括以下步骤(c. 8. 1)获取步骤(C. 7)中的第一幅单个数字图像为当前单个数字图像;(c. 8. 2)对当前单个数字图像从上往下逐行扫描,直到寻找到第一个包含的白点个数大于预设行白点个数阈值的行,将该行作为纯数字图像的上边界;对当前单个数字图像从下往上逐行扫描,直到寻找到第一个包含的白点个数大于预设行白点个数阈值的行, 将该行作为纯数字图像的下边界;获取上边界和下边界之间的图像数据作为纯数字图像数据,保存所述的纯数字图像;(c. 8. 3)判断当前的单个数字图像是否是最后一幅单个数字图像,若是,进入步骤 (c. 9);若否,则将下一幅单个数字图像作为当前单个数字图像,重复执行步骤(c. 8. 2)。步骤(c. 9)中使用数字笔画方差纠正法对所有的纯数字图像中的数字进行笔画纠正包括以下步骤(c. 9. 1)取第一幅纯数字图像为当前纯数字图像;循环次数η置0,临时变量temp 置0,计算当前纯数字图像每列的白点个数,所有列的白点个数形成第一数组,每一列的白点个数作为第一数组的一个元素,对第一数组求方差err ;(c. 9. 2)取当前纯数字图像的副本为临时纯数字图像,将临时纯数字图像的第m 行向右移动tanfcXO. 5° ) Xm个像素,删除移出右侧边界的像素点,左侧移入的像素点补黑点;其中,m的取值范围为0到图像的高度减1 ;(c. 9. 3)计算临时纯数字图像每列的白点个数,所有列的白点个数形成第二数组, 对第二数组求方差errl ;(c. 9. 4)判断errl是否大于err,如果是,则将errl赋值给err,循环次数η赋值给临时变量temp ;如果不是,进入步骤(c. 9. 5);(c. 9. 5)循环次数 η 力口 1 ;(c. 9. 6)判断η是否小于等于20,如果是,返回步骤(c. 9. 2);如果不是,进入步骤 (c. 9. 7);(c. 9. 7)将当前纯数字图像的第m行向右移动tan (tempXO. 5° )Xm个像素,删除移出右侧边界的像素点,左侧移入的像素点补黑点,完成对当前纯数字图像中的数字笔画纠正处理;其中,m的取值范围为0到图像的高度减1 ;(c. 9. 8)去掉数字笔画纠正处理后当前纯数字图像左侧没有白点的黑色区域,使当前纯数字图像的左边沿与数字的左边沿重合。(c. 9. 9)判断当前纯数字图像是否是最后一幅纯数字图像,若是,进入步骤(d); 若否,则将下一幅纯数字图像作为当前纯数字图像,进入步骤(c. 9. 2)。在进行步骤(C. 6)之前,先去除二值化图像中的杂点,方法为计算二值化图像的每一个白点区域内的白点个数,判断白点个数是否大于预设阈值,若是,则该白点区域为数字区域;若否,则该白点区域为杂点,将该白点区域内的所有白点置为黑点。步骤(d)中,使用七段分区法依次识别纯数字图像代表的数字含义和小数点以及计算LCD数显仪示值包括以下步骤(d. 1)在计算机中预设数字0和2-9的数字列表;(d. 2)获取所有纯数字图像的高度,将高度的最大值记录为maX_height,并获取第一幅纯数字图像作为当前纯数字图像;
(d. 3)获取当前纯数字 图像的高度height,判断height <maX_height X0. 3是否成立,若成立,则当前纯数字图像代表的含义为小数点,记录当前纯数字图像在所有纯数字图像中的位置,这个位置也就是小数点在数字中的位置,进入步骤(d.6);若否,则进入步骤(d. 4);(d. 4)获取当前纯数字图像的宽度width,判断width < height X 0.3是否成立, 若成立,则当前纯数字图像代表的含义为数字1,进入步骤(d.6);若不成立,则进入步骤 (d. 5);(d. 5)将当前纯数字图像与所述的数字列表比对,获得当前纯数字图像代表的数字含义;(d. 6)判断当前纯数字图像是否最后一幅纯数字图像,若是,则利用所有的纯数字图像的识别结果计算出IXD数显仪示值;若否,则获取下一幅纯数字图像作为当前纯数字图像,重复执行步骤(d. 3)-(d. 5)。步骤(d. 1)中的数字列表为使用七段分区法标识的数字列表;所述的七段分区法标识的数字是指将纯数字图像用三段横线和四段竖线分为七段区域,上横线为a区域,中横线为g区域,下横线为d区域,左边的上竖线为f区域,左边的下竖线为e区域,右边的上竖线为b区域,右边的下竖线为c区域;使用七段分区法标识的数字列表中的列表信息与数字0和2-9 —一对应;在每个数字的列表信息中,若该数字对应的纯数字图像的分段区域内有线段标示,则将该段区域的标记赋值为1 ;若分段区域内没有线段标示,则将该段区域的标记赋值为0。步骤(d. 5)中获得当前纯数字图像代表的数字含义包括以下步骤(d. 5. 1)分别获取当前纯数字图像的七段分区内的白点个数,若所述的分区内的白点个数大于或等于30%的该分区内的像素点个数,则将该分区的标记置为1,否则置为 0 ;记录当前纯数字图像的七段分区标记赋值;(d. 5. 2)将当前纯数字图像的七段分区标记赋值与数字列表的信息比对,确定当前纯数字图像代表的数字含义,如果当前纯数字图像的七段分区标记赋值不与数字列表的信息中的任何一个符合,则本次识别无效,舍弃本次识别。本发明的技术构思是由于很多IXD数显仪的输出只有一个数显窗口,没有其他的信号输出,所以本发明使用图像识别的方法读取LCD数显仪示值,其中包括数字笔画方差纠正法和七段分区法,图像识别的步骤为计算机读入摄像机的视频流;间隔一定时间获取帧,得到图像;使用人机交互的方式确定图像中数字所在区域,并将这个区域提取出来作为后续处理的图像;将图像转换为二值化图像;将二值化图像中的每个数字分隔成单独的纯数字图像;使用数字笔画方差纠正法对纯数字图像中的数字进行笔画纠正处理;最后使用七段分区法依次识别纯数字图像代表的数字含义并计算出LCD数显仪示值。使用数字笔画方差纠正法对纯数字图像中的数字进行笔画纠正处理的思想是相比纯数字图像中的数字横笔画水平显示、竖笔画不铅直显示的情况,纯数字图像中的数字横笔画水平显示、竖笔画铅直显示时,纯数字图像中有更多的白点集中在一部分列上,即纯数字图像中所有列的白点个数的方差更大,不断地对纯数字图像的行按一定的倾斜角度进行移位,当所有列的白点个数方差最大时,图像上的数字横笔画水平显示,竖笔画铅直显示,实现对数字笔画的纠正。
目前对数字进行图像识别的方法主要有神经网络、穿线法和模式匹配,本发明提出七段分区法识别数字,这是一种基于统计思想的新的对数字进行图像识别方法,这种方法实现简单,正确率高而且能识别不同类型的LCD/LED数字。本发明的 有益效果是数显式仪表中的数字可由计算机识别、人工劳动强度低,不存在人为误差。本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
权利要求
1.LCD数显仪示值的图像识别方法,包括以下步骤(a)、读取摄像机的视频流,间隔预设时间获取帧,得到图像;(b)、确定数字所在的区域,该区域内仅包含数字,截取该区域的图像作为后续处理的图像;(C)、对图像进行预处理,将图像转换为二值化图像,并将二值化图像中的每个数字分隔为单独的纯数字图像,依次存储纯数字图像,对所有的纯数字图像中的数字进行笔画纠正处理;(d)、依次识别纯数字图像代表的数字含义和小数点,并计算IXD数显仪示值。
2.如权利要求1所述的IXD数显仪示值的图像识别方法,其特征在于步骤(b)中,通过人机交互的方式确定数字所在的区域。
3.如权利要求1所述的LCD数显仪示值的图像识别方法,其特征在于步骤(c)中的图像预处理包括以下步骤(c. 1)对图像进行灰度化处理,获得灰度化图像;(c. 2)判断灰度化图像的宽度是否小于灰度化图像的高度,若小于,则表示灰度化图像中的数字竖直显示,将灰度化图像顺时针旋转90°,使灰度化图像中的数字水平显示;(c. 3)对灰度化图像进行求补运算,得到数字区域为高亮度显示,背景区域为低亮度显示的灰度图像;(c. 4)使用图像形态学的开运算和闭运算计算出灰度图像的背景亮度并获得背景图像,用灰度图像减去背景图像,获得等亮度图像;(c. 5)计算等亮度图像的二值化阈值,并根据这个阈值将等亮度图像转化成二值化图像;(c. 6)对二值化图像进行纠斜,纠斜后形成的水平数字图像中数字的横笔画水平显示;(c. 7)逐列扫描水平数字图像,将水平数字图像分隔为多幅单个数字图像,每幅单个数字图像中只包含一个数字,或者只包含一个小数点;(c. 8)对步骤(c. 7)中获取的所有单个数字图像进行逐行扫描,获取单个数字图像中数字的上边界和下边界,获取上边界和下边界之间的图像数据作为纯数字图像数据,保存所述的纯数字图像;(c. 9)使用数字笔画方差纠正法对所有的纯数字图像中的数字进行笔画纠正处理,使处理后的图像中的数字横笔画水平显示,竖笔画铅直显示。
4.如权利要求3所述的LCD数显仪示值的图像识别方法,其特征在于在步骤(c.3)获得灰度图像后,需要对所述的灰度图像进行滤波,以消除失真和噪声。
5.如权利要求4所述的LCD数显仪示值的图像识别方法,其特征在于步骤(c.7)中将水平数字图像分隔为多幅单个数字图像的步骤包括以下步骤(c. 7. 1)获取水平数字图像的最左边一列作为当前列;(c. 7. 2)从当前列开始按从左到右的顺序对水平数字图像进行逐列扫描,寻找白点的个数大于预设列白点个数阈值的列,若无法找到该列,则表示已经完成对水平数字图像的扫描,进入步骤(c. 8);若找到该列,则将该列作为单个数字图像的左边界;继续向右扫描, 寻找白点的个数小于预设列白点个数阈值的列,若无法找到该列,则表示已经完成对水平数字图像的扫描,进入步骤(c.8);若找到该列,则将该列作为单个数字图像的右边界;将左边界与右边界之间的图像数据作为单个数字图像数据,保存所述的单个数字图像; (c. 7. 3)将步骤(c. 7. 2)中的右边界的后一列作为当前列,重复执行步骤(c. 7. 2)。
6.如权利要求5所述的LCD数显仪示值的图像识别方法,其特征在于步骤(c.8)中生成纯数字图像的步骤包括以下步骤(c. 8. 1)获取步骤(c. 7)中的第一幅单个数字图像为当前单个数字图像; (c. 8. 2)对当前单个数字图像从上往下逐行扫描,直到寻找到第一个包含的白点个数大于预设行白点个数阈值的行,将该行作为纯数字图像的上边界;对当前单个数字图像从下往上逐行扫描,直到寻找到第一个包含的白点个数大于预设行白点个数阈值的行,将该行作为纯数字图像的下边界;获取上边界和下边界之间的图像数据作为纯数字图像数据, 保存所述的纯数字图像;(c. 8. 3)判断当前的单个数字图像是否是最后一幅单个数字图像,若是,进入步骤 (c. 9);若否,则将下一幅单个数字图像作为当前单个数字图像,重复执行步骤(c. 8. 2)。
7.如权利要求6所述的LCD数显仪示值的图像识别方法,其特征在于步骤(c.9)中使用数字笔画方差纠正法对所有的纯数字图像中的数字进行笔画纠正包括以下步骤(c. 9. 1)取第一幅纯数字图像为当前纯数字图像;循环次数η置0,临时变量temp置0, 计算当前纯数字图像每列的白点个数,所有列的白点个数形成第一数组,每一列的白点个数作为第一数组的一个元素,对第一数组求方差err ;(c. 9. 2)取当前纯数字图像的副本为临时纯数字图像,将临时纯数字图像的第m行向右移动tan(nX0.5° ) Xm个像素,删除移出右侧边界的像素点,左侧移入的像素点补黑点;其中,m的取值范围为0到图像的高度减1 ;(c. 9. 3)计算临时纯数字图像每列的白点个数,所有列的白点个数形成第二数组,对第二数组求方差errl ;(c. 9. 4)判断errl是否大于err,如果是,则将errl赋值给err,循环次数η赋值给临时变量temp ;如果不是,进入步骤(c. 9. 5); (c. 9. 5)循环次数η加1 ;(c. 9. 6)判断η是否小于等于20,如果是,返回步骤(c. 9. 2);如果不是,进入步骤 (c. 9. 7);(c. 9. 7)将当前纯数字图像的第m行向右移动tan(tempX0.5° )Xm个像素,删除移出右侧边界的像素点,左侧移入的像素点补黑点,完成对当前纯数字图像中的数字笔画纠正处理;其中,m的取值范围为0到图像的高度减1 ;(c. 9. 8)去掉数字笔画纠正处理后当前纯数字图像左侧没有白点的黑色区域,使当前纯数字图像的左边沿与数字的左边沿重合。(c. 9. 9)判断当前纯数字图像是否是最后一幅纯数字图像,若是,进入步骤(d);若否, 则将下一幅纯数字图像作为当前纯数字图像,进入步骤(c. 9. 2)。
8.如权利要求7所述的LCD数显仪示值的图像识别方法,其特征在于在进行步骤 (c. 6)之前,先去除二值化图像中的杂点,方法为计算二值化图像的每一个白点区域内的白点个数,判断白点个数是否大于预设阈值,若是,则该白点区域为数字区域;若否,则该白点区域为杂点,将该白点区域内的所有白点置为黑点。
9.如权利要求1所述的LCD数显仪示值的图像识别方法,其特征在于步骤(d)中,使用七段分区法依次识别纯数字图像代表的数字含义和小数点以及计算IXD数显仪示值包括以下步骤(d. 1)在计算机中预设数字0和2-9的数字列表;(d. 2)获取所有纯数字图像的高度,将高度的最大值记录为max_height,并获取第一幅纯数字图像作为当前纯数字图像;(d. 3)获取当前纯数字图像的高度height,判断height < max_heightX0. 3是否成立,若成立,则当前纯数字图像代表的含义为小数点,记录当前纯数字图像在所有纯数字图像中的位置,这个位置也就是小数点在数字中的位置,进入步骤(d.6);若否,则进入步骤 (d. 4);(d. 4)获取当前纯数字图像的宽度width,判断width < heightXO. 3是否成立,若成立,则当前纯数字图像代表的含义为数字1,进入步骤(d.6);若不成立,则进入步骤 (d. 5);(d. 5)将当前纯数字图像与所述的数字列表比对,获得当前纯数字图像代表的数字含义;(d. 6)判断当前纯数字图像是否最后一幅纯数字图像,若是,则利用所有的纯数字图像的识别结果计算出IXD数显仪示值;若否,则获取下一幅纯数字图像作为当前纯数字图像, 重复执行步骤(d. 3)-(d. 5)。
10.如权利要求9所述的LCD数显仪示值的图像识别方法,其特征在于步骤(d.1)中的数字列表为使用七段分区法标识的数字列表;所述的七段分区法标识的数字是指将纯数字图像用三段横线和四段竖线分为七段区域,上横线为a区域,中横线为g区域,下横线为 d区域,左边的上竖线为f区域,左边的下竖线为e区域,右边的上竖线为b区域,右边的下竖线为c区域;使用七段分区法标识的数字列表中的列表信息与数字0和2-9 —一对应;在每个数字的列表信息中,若该数字对应的纯数字图像的分段区域内有线段标示,则将该段区域的标记赋值为1 ;若分段区域内没有线段标示,则将该段区域的标记赋值为0 ; 步骤(d.5)中获得当前纯数字图像代表的数字含义包括以下步骤 (d. 5. 1)分别获取当前纯数字图像的七段分区内的白点个数,若所述的分区内的白点个数大于或等于30%的该分区内的像素点个数,则将该分区的标记置为1,否则置为0 ;记录当前纯数字图像的七段分区标记赋值;(d. 5. 2)将当前纯数字图像的七段分区标记赋值与数字列表的信息比对,确定当前纯数字图像代表的数字含义,如果当前纯数字图像的七段分区标记赋值不与数字列表的信息中的任何一个符合,则本次识别无效,舍弃本次识别。
全文摘要
LCD数显仪示值的图像识别方法,包括读取摄像机的视频流,间隔预设时间获取帧,得到图像;确定数字所在的区域,该区域内仅包含数字,截取该区域的图像作为后续处理的图像;对图像进行预处理,将图像转换为二值化图像,并将二值化图像中的每个数字分隔为单独的纯数字图像,依次存储纯数字图像,所有的纯数字图像中的数字进行笔画纠正处理;依次识别纯数字图像代表的数字含义和小数点,并计算LCD数显仪示值。本发明具有数显式仪表中的数字可由计算机识别、人工劳动强度低,不存在人为误差的优点。
文档编号G06K9/00GK102306283SQ20111020722
公开日2012年1月4日 申请日期2011年7月23日 优先权日2011年7月23日
发明者何闻, 李 根, 荣左超, 贾叔仕 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1