一种触摸屏多区域识别方法

文档序号:6335892阅读:425来源:国知局
专利名称:一种触摸屏多区域识别方法
技术领域
本发明属于触摸屏识别领域,特别涉及一种触摸屏多区域识别方法。
背景技术
现有触摸技术中,有电阻、电容、红外扫描技术、电磁定位、超声波定位、摄像头定 位等多种触摸定位方式。其中摄像头定位技术因其能实现多点定位,且成本低的优点而广 受欢迎。摄像头定位技术的一般过程是通过摄像头进行拍摄,对拍摄图像进行二值化处 理,然后利用图像分析的方法提取触摸点的坐标、进行触摸点识别,最后实现触摸定位。但 这种触摸定位方式常常受到提取触摸点坐标、触摸点识别速度慢的影响,使得响应速度较 慢。中国发明专利CN101493740A公开了一种红外触摸屏识别多个真实触摸点的方 法,该方法首先对X轴、Y轴和Z轴方向进行红外扫描,扫描单元对触摸信号进行触摸分析, 产生X轴、Y轴和Z轴的触摸位置信息;控制器判断产生是否为有效触摸位置信息,有有效 触摸位置信息时,控制器收集此信息,并对收集到的数据进行排列组合,产生所有的组合 点;控制器根据Z + F*笤(90-刃=Z分别对所有的组合点进行判断是否有符合条件的组 合点,d为Z轴扫描单元与X轴扫描单元的夹角,将得出的各真实触摸点的位置信息传输到 计算机系统中。该发明采用红外扫描技术,触摸屏特定为红外触摸屏,且需要在触摸屏的X 轴红外扫描部件和Y轴红外扫描部件上分别设置Z轴红外扫描部件,使得其应用范围较窄, 且造价高。另外识别算法很简单,容易造成识别错误。因此,提出一种应用范围广、成本低且能快速准确识别多个触摸区域坐标的方法 成为一个极具实用价值的课题。

发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种触摸屏多区域识别方 法,其具有应用范围广、成本低且能快速准确识别多个触摸区域坐标的优点。本发明的目的通过以下的技术方案实现一种触摸屏多区域识别方法,具体包括 以下步骤(1)图像采集和预处理通过摄像头拍摄到触摸屏表面图像,根据触摸屏背景和 触摸区域之间的灰度差将图像进行二值化,然后对二值化后的图像进行滤波,去除较小的 噪声点,得到待处理的图像;(2)图像处理和特征识别(2-1)将待处理图像中的所有触摸区域中的坐标点按照从上到下的顺序逐行写入 数组中,然后依次读取数组中的数据,根据该数据的坐标值判断其是已有触摸区域中的数 据点还是为新的触摸区域中的数据点,然后进入步骤(2-2);(2-2)统计当前触摸区域个数,判断当前触摸区域个数是否大于设定的最多可识 别个数,是则提示触摸区域个数超出可识别范围,退出程序,否则根据其所属触摸区域将当前点的横坐标值和纵坐标值进行累加,并对该触摸区域所包含像素的个数进行累加,然后 进入步骤(2-3);(2-3)判断该点是否是数组中的最后一点,若是,进入步骤(2-4),若否,返回步骤 (2-1),继续读取下一点的坐标;(2-4)统计触摸区域个数,并根据求取的各触摸区域中横坐标和纵坐标的累加和 及各触摸区域所包含像素的个数,求取每个触摸区域的重心坐标;(3)结果显示在所拍摄图像上标示出各重心坐标,并在窗口中显示当前屏幕上 触摸区域的个数。所述步骤(2-1)具体包括以下步骤(2-1-1)判断当前读取的坐标值是否是数组中的第一个坐标值,若是则标记为本 行第一个触摸区域的横坐标端点值,然后进入步骤(2-2),若否则进入步骤(2-1-2);(2-1-2)判断当前读取的坐标值与前一个读取的坐标值是否为同一行,若是,进入 步骤(2-1-3);若否,进入步骤(2-1-5);(2-1-3)判断当前像素的横坐标与上一个像素点的横坐标之差是否在预设范围m 内,若是,则进入步骤(2-2);若否,标记上一个读取的坐标点为其所属的触摸区域在本行 的端点,然后进入步骤(2-1-4)继续判断;(2-1-4)判断与上一个坐标点属同一行的当前点是否属于除前一个像素所属的触 摸区域外的其他触摸区域,判断方法如下在目前已知的所有触摸区域中分别找到其横坐 标最大和最小的两个端点值,如果当前点的横坐标的值处于横坐标最大的端点值加上一个 范围值zl和横坐标最小的端点值减去一个范围值z2之间,则认为当前点属于除上一点坐 标所在触摸区域外的其他已判断存在的触摸区域,然后进入步骤(2-2),如果不是,则新增 一个触摸区域,并将当前点坐标标记为新增触摸区域在本行的端点,然后进入步骤(2-2);(2-1-5)判断与上一个坐标点不属于同一行的当前点是否属于除前一个像素所属 的触摸区域外的其他触摸区域,判断方法如下在目前已知的所有触摸区域中分别找到其 纵坐标最小的端点值,判断当前读取坐标的纵坐标是否处于纵坐标最小的端点值减去一个 范围值z3的范围内,如果否,则新增一个触摸区域,并将当前点坐标标记为新增触摸区域 在本行的端点,然后进入步骤(2-2);如果是,则在目前已知的所有触摸区域中分别找到其 横坐标最大和最小的两个端点值,然后判断当前点的横坐标的值是否处于横坐标最大的端 点值加上一个范围值zl和横坐标最小的端点值减去一个范围值z2之间,如果是则认为当 前点属于该触摸区域,然后进入步骤(2-2),如果不是,则新增一个触摸区域,并将当前点坐 标标记为新增触摸区域在本行的端点,然后进入步骤(2-2)。所述步骤(1)中的滤波方法为中值滤波或形态学滤波。所述步骤(2-1)中的m、zl、z2、z3根据图像分辨率和触摸区域所占像素个数确定。所述步骤(2-4)中的重心坐标是将各触摸区域中横坐标和纵坐标的累加和分别 除以该触摸区域包括的像素点个数得到的。本发明与现有技术相比,具有如下优点和有益效果1、本发明中采用图像处理的方法进行触摸点多区域识别,成本较低,应用范围广, 且其算法中多是以加法和判断来实现,处理速度较快。2、本发明中采用多个阈值判断条件,使该算法抗噪能力强,识别的触摸点个数和求出的重心坐标更加准确。


图1是本发明整体算法流程图;图2是本发明算法中特征提取部分算法流程图;图3是本发明算法实现的示意图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。实施例1如图1所示,一种触摸屏多区域识别方法,具体包括以下步骤(1)图像采集和预处理通过摄像头拍摄到触摸屏表面图像,根据触摸屏背景和 触摸区域之间的灰度差将图像进行二值化,然后对二值化后的图像进行滤波,去除较小的 噪声点,得到待处理的图像;(2)图像处理和特征识别(2-1)将待处理图像中的所有触摸区域中的坐标点按照从上到下的顺序逐行写入 数组中,然后依次读取数组中的数据,根据该数据的坐标值判断其是已有触摸区域中的数 据点还是为新的触摸区域中的数据点,然后进入步骤(2-2);(2-2)统计当前触摸区域个数,判断当前触摸区域个数是否大于设定的最多可识 别个数,是则提示触摸区域个数超出可识别范围,退出程序,否则根据其所属触摸区域将当 前点的横坐标值和纵坐标值进行累加,并对该触摸区域所包含像素的个数进行累加,然后 进入步骤(2-3);(2-3)判断该点是否是数组中的最后一点,若是,进入步骤(2-4),若否,返回步骤 (2-1),继续读取下一点的坐标;(2-4)统计触摸区域个数,并根据求取的各触摸区域中横坐标和纵坐标的累加和 及各触摸区域所包含像素的个数,求取每个触摸区域的重心坐标;(3)结果显示在所拍摄图像上标示出各重心坐标,并在窗口中显示当前屏幕上 触摸区域的个数。所述步骤(2-1)具体包括以下步骤(2-1-1)判断当前读取的坐标值是否是数组中的第一个坐标值,若是则标记为本 行第一个触摸区域的横坐标端点值,然后进入步骤(2-2),若否则进入步骤(2-1-2);(2-1-2)判断当前读取的坐标值与前一个读取的坐标值是否为同一行,若是,进入 步骤(2-1-3);若否,进入步骤(2-1-5);(2-1-3)判断当前像素的横坐标与上一个像素点的横坐标之差是否在预设范围m 内,若是,则进入步骤(2-2);若否,标记上一个读取的坐标点为其所属的触摸区域在本行 的端点,然后进入步骤(2-1-4)继续判断;如图3中所示B、C、H三点,B、C两点在同一行上, 但是二值之间的距离大于m,所以B点为该触摸区域在该行的一个端点,而C点为另一个触 摸区域在该行的端点,但是还需要判断C所在触摸区域是否是已知的触摸区域。
(2-1-4)判断与上一个坐标点属同一行的当前点是否属于除前一个像素所属的触 摸区域外的其他触摸区域,判断方法如下在目前已知的所有触摸区域中分别找到其横坐 标最大和最小的两个端点值,如果当前点的横坐标的值处于横坐标最大的端点值加上一个 范围值zl和横坐标最小的端点值减去一个范围值z2之间,则认为当前点属于除上一点坐 标所在触摸区域外的其他已判断存在的触摸区域,然后进入步骤(2-2),如果不是,则新增 一个触摸区域,并将当前点坐标标记为新增触摸区域在本行的端点,然后进入步骤(2-2); 如图3中所示,H点为C点上一行的点,H为其所在触摸区域在该行的一个端点,C点的横坐 标的值处于H点横坐标的值减去一个范围值z2的区域内,所以C点属于H点所在的触摸区 域。(2-1-5)判断与上一个坐标点不属于同一行的当前点是否属于除前一个像素所属 的触摸区域外的其他触摸区域,判断方法如下在目前已知的所有触摸区域中分别找到其 纵坐标最小的端点值,判断当前读取坐标的纵坐标是否处于纵坐标最小的端点值减去一个 范围值z3的范围内,如果否,则新增一个触摸区域,并将当前点坐标标记为新增触摸区域 在本行的端点,然后进入步骤(2-2);如果是,则在目前已知的所有触摸区域中分别找到其 横坐标最大和最小的两个端点值,然后判断当前点的横坐标的值是否处于横坐标最大的端 点值加上一个范围值zl和横坐标最小的端点值减去一个范围值z2之间,如果是则认为当 前点属于该触摸区域,然后进入步骤(2-2),如果不是,则新增一个触摸区域,并将当前点坐 标标记为新增触摸区域在本行的端点,然后进入步骤(2-2)。如图3中所示,A、B、C、D四点 位于同一行上,在判断完该行的点后,搜索至E点,首先判断得出E点的纵坐标与上述四点 不同,处于不同行,然后判断E点的纵坐标与D点的纵坐标之差是否在z3的范围内,结果 是,那么搜索目前已知的所有触摸区域,搜索到存在A、B点所在的触摸区域1和C、D点所在 的触摸区域2,同时判断得知E点的横坐标处于A点的横坐标减去一个范围值z2和B点的 横坐标加上一个范围值zl之间,所以得到E点属于触摸区域1。另外,在该图中的F点和G 点为数组中相邻的两个点,判断G点时,通过将其纵坐标和F点作对比得知,G点和F点不 在同一行,同时G点的纵坐标与F点的纵坐标之差不在z3的范围内,所以G点属于新增的 触摸区域3所述步骤(1)中的滤波方法为中值滤波或形态学滤波。所述步骤(2-1)中的m、zl、z2、z3根据图像分辨率和触摸区域所占像素个数确 定。在本实施例中,所采用摄像机的分辨率为1024*768,触摸区域直径所占像素个数为12, 所以设置的m为4,zl为10,z2为6,z3为5。所述步骤(2-4)中的重心坐标是将各触摸区域中横坐标和纵坐标的累加和分别 除以该触摸区域包括的像素点个数得到的。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1.一种触摸屏多区域识别方法,其特征在于具体包括以下步骤(1)图像采集和预处理通过摄像头拍摄到触摸屏表面图像,根据触摸屏背景和触摸 区域之间的灰度差将图像进行二值化,然后对二值化后的图像进行滤波,去除较小的噪声 点,得到待处理的图像;(2)图像处理和特征识别(2-1)将待处理图像中的所有触摸区域中的坐标点按照从上到下的顺序逐行写入数组 中,然后依次读取数组中的数据,根据该数据的坐标值判断其是已有触摸区域中的数据点 还是为新的触摸区域中的数据点,然后进入步骤(2-2);(2-2)统计当前触摸区域个数,判断当前触摸区域个数是否大于设定的最多可识别个 数,是则提示触摸区域个数超出可识别范围,退出程序,否则根据其所属触摸区域将当前点 的横坐标值和纵坐标值进行累加,并对该触摸区域所包含像素的个数进行累加,然后进入 步骤(2-3);(2-3)判断该点是否是数组中的最后一点,若是,进入步骤(2-4),若否,返回步骤 (2-1),继续读取下一点的坐标;(2-4)统计触摸区域个数,并根据求取的各触摸区域中横坐标和纵坐标的累加和及各 触摸区域所包含像素的个数,求取每个触摸区域的重心坐标;(3)结果显示在所拍摄图像上标示出各重心坐标,并在窗口中显示当前屏幕上触摸 区域的个数。
2.根据权利要求1所述的触摸屏多区域识别方法,其特征在于,所述步骤(2-1)具体包 括以下步骤(2-1-1)判断当前读取的坐标值是否是数组中的第一个坐标值,若是则标记为本行第 一个触摸区域的横坐标端点值,然后进入步骤(2-2),若否则进入步骤(2-1-2);(2-1-2)判断当前读取的坐标值与前一个读取的坐标值是否为同一行,若是,进入步骤 (2-1-3);若否,进入步骤(2-1-5);(2-1-3)判断当前像素的横坐标与上一个像素点的横坐标之差是否在预设范围m内, 若是,则进入步骤(2-2);若否,标记上一个读取的坐标点为其所属的触摸区域在本行的端 点,然后进入步骤(2-1-4)继续判断;(2-1-4)判断与上一个坐标点属同一行的当前点是否属于除前一个像素所属的触摸区 域外的其他触摸区域,判断方法如下在目前已知的所有触摸区域中分别找到其横坐标最 大和最小的两个端点值,如果当前点的横坐标的值处于横坐标最大的端点值加上一个范围 值zl和横坐标最小的端点值减去一个范围值z2之间,则认为当前点属于除上一点坐标所 在触摸区域外的其他已判断存在的触摸区域,然后进入步骤(2-2),如果不是,则新增一个 触摸区域,并将当前点坐标标记为新增触摸区域在本行的端点,然后进入步骤(2-2);(2-1-5)判断与上一个坐标点不属于同一行的当前点是否属于除前一个像素所属的触 摸区域外的其他触摸区域,判断方法如下在目前已知的所有触摸区域中分别找到其纵坐 标最小的端点值,判断当前读取坐标的纵坐标是否处于纵坐标最小的端点值减去一个范围 值z3的范围内,如果否,则新增一个触摸区域,并将当前点坐标标记为新增触摸区域在本 行的端点,然后进入步骤(2-2);如果是,则在目前已知的所有触摸区域中分别找到其横坐 标最大和最小的两个端点值,然后判断当前点的横坐标的值是否处于横坐标最大的端点值加上一个范围值zl和横坐标最小的端点值减去一个范围值z2之间,如果是则认为当前点 属于该触摸区域,然后进入步骤(2-2),如果不是,则新增一个触摸区域,并将当前点坐标标 记为新增触摸区域在本行的端点,然后进入步骤(2-2)。
3.根据权利要求1所述的触摸屏多区域识别方法,其特征在于,所述步骤(1)中的滤波 方法为中值滤波或形态学滤波。
4.根据权利要求2所述的触摸屏多区域识别方法,其特征在于,所述步骤(2-1)中的 m、zl、z2、z3根据图像分辨率和触摸区域所占像素个数确定。
5.根据权利要求1所述的触摸屏多区域识别方法,其特征在于,所述步骤(2-4)中的重 心坐标是将各触摸区域中横坐标和纵坐标的累加和分别除以该触摸区域包括的像素点个 数得到的。
全文摘要
本发明公开了一种触摸屏多区域识别方法,首先将拍摄到的触摸屏表面图像进行二值化和滤波,然后提取出图像中的触摸区域中点的坐标,根据这些坐标的的坐标值依次判断其是已有触摸区域中的数据点还是为新的触摸区域中的数据点,统计出触摸区域的总数,并在程序运行中同时得到各触摸区域所包含像素的点的坐标值和个数,根据这些数据求取出各触摸区域的重心坐标;最后在所拍摄图像上标示出各重心坐标,并在窗口中显示当前屏幕上触摸区域的个数。本发明采用图像处理的方法进行触摸区域多区域识别,成本较低,应用范围广,且其算法中多是以加法和判断来实现,处理速度较快。
文档编号G06F3/042GK102004585SQ20101054504
公开日2011年4月6日 申请日期2010年11月15日 优先权日2010年11月15日
发明者彭昌辉, 郑金发, 钟杰婷 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1