一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

红外触控屏的触摸区域识别方法、系统和电子设备与流程

2022-04-16 13:08:16 来源:中国专利 TAG:


1.本发明涉及触控技术领域,特别涉及一种红外触控屏的触摸区域识别方法、系统、电子设备和计算机可读存储介质。


背景技术:

2.红外触控屏通常包括安装在触控屏四周边框上的若干红外发射单元和若干红外接收单元及其驱动电路,在驱动电路的作用下,每个红外发射单元按照预先设置的多个红外光路方向发射红外线,每个红外接收单元接收各自对应的红外线,由此在触控屏的屏幕表面上形成一个红外线光网。触控操作的物体(例如手指)在触摸屏幕表面时,红外线光网中的某些红外线就会被遮挡,被遮挡的红外线即为遮挡线,触摸区域对应的红外接收单元所接收到的红外线光信号参数(例如光通量)就会发生变化,将这种变化转化为电信号并与无触摸时的电信号进行比较,即可计算得到触摸区域位置,从而实现触控屏操作。
3.红外触控屏的触点计算经历了从一点触控到两点触控,再到更多点触控的发展历程,其中,多点触控可以让触控屏操作的形式更加地丰富多样,使得多用户可共同享受交互体验。现有的多点触控的触摸区域识别方法大多是选取若干遮挡线交叉的区域作为触摸区域,而实际上由于存在多个红外光路方向,在有多个触点时会造成某些遮挡线交叉的区域并非真实的触摸区域,因而需要通过设置阈值门槛,将超过一定数量遮挡线的交叉区域作为触摸区域提取出来,通过这种方式可以将较大触点提取得到,而较小触点(例如细笔)由于交叉遮挡线的数量很少,无法随着较大触点同时被提取得到,则需要在提取完较大触点后,再判断是否所有的遮挡线都经过较大触点,如仍有部分遮挡线不经过较大触点,则重新调整阈值门槛,才能将较小触点提取出来,这一步骤(或称为遮挡线反推)很可能需要进行多次反复计算,导致触点识别的计算效率较低。


技术实现要素:

4.基于上述现状,本发明的主要目的在于提供一种红外触控屏的触摸区域识别方法、系统、电子设备和计算机可读存储介质,能够在多点触控时一次性将较大触点和较小触点的触摸区域同时提取出来,能提高触摸区域识别的计算效率,并能减少遗漏较小触点。
5.为实现上述目的,本发明采用的技术方案如下:
6.根据本发明的第一方面,一种红外触控屏的触摸区域识别方法,所述方法包括如下步骤:
7.根据所述红外触控屏的扫描数据获取所有的遮挡线;
8.选取一条尚未被选取过的遮挡线作为第一遮挡线,确定所述第一遮挡线的所有的交叉点,所述交叉点为所述第一遮挡线与其他遮挡线相交的点,并确定所述第一遮挡线的焦点,所述焦点为所述所有的交叉点中涉及遮挡线的数量最多的交叉点,重复上述操作,直至得到所述所有的遮挡线的焦点;
9.选取同时隶属于遮挡线的数量最多的焦点作为公共焦点,在所述公共焦点的邻近
区域内得到其他焦点,并根据所述其他焦点和所述公共焦点确定触摸区域,对剩余的未确定触摸区域的焦点重复上述操作,直至得到所有的触摸区域。
10.进一步地,所述确定所述第一遮挡线的所有的交叉点包括如下步骤:
11.将所述所有的遮挡线转换成所述红外触控屏对应的图像中的若干像素点;
12.从所述第一遮挡线的若干像素点中选取一个尚未被选取过的像素点作为第一像素点,若所述第一像素点与其他遮挡线的任何一个像素点重合,则将所述第一像素点作为所述第一遮挡线的交叉点,重复上述操作,直至完成对所有的像素点的判断。
13.进一步地,所述将所述第一像素点作为所述第一遮挡线的交叉点还包括如下步骤:
14.将所述第一像素点与所述其他遮挡线的任何一个像素点重合的次数设置为所述第一像素点的第一标记值;
15.所述确定所述第一遮挡线的焦点包括如下步骤:
16.将所述第一标记值为最大值的像素点设置为所述第一遮挡线的焦点。
17.进一步地,所述选取同时隶属于遮挡线的数量最多的焦点作为公共焦点包括如下步骤:
18.将所述所有的遮挡线的焦点转换成所述红外触控屏对应的图像中的若干像素点;
19.从所述若干像素点中选取一个尚未被选取过的像素点作为第二像素点,将所述第二像素点被判断为焦点的次数设置为所述第二像素点的第二标记值,重复上述操作,直至得到所有的像素点的第二标记值;
20.将所述第二标记值为最大值的像素点设置为所述公共焦点。
21.进一步地,所述在所述公共焦点的邻近区域内得到其他焦点包括如下步骤:
22.将所述所有的遮挡线的焦点转换成所述红外触控屏对应的图像中的若干像素点;
23.将所述公共焦点作为目标并判断其邻域像素点是否为焦点,若是则将该邻域像素点并入所述目标并继续进行判断,直至所述目标的邻域像素点均不为焦点;
24.其中,所述邻域像素点为与所述目标直接相邻的像素点,或者为与所述目标之间存在不超过预设数量的像素点空位的像素点。
25.进一步地,所述根据所述其他焦点和所述公共焦点确定触摸区域之后还包括如下步骤:
26.根据所述触摸区域内所有焦点的位置计算得到所述触摸区域的触点位置。
27.进一步地,所述根据所述触摸区域内所有焦点的位置计算得到所述触摸区域的触点位置包括如下步骤:
28.根据所述红外触控屏对应的图像得到所述触摸区域内所有焦点对应的像素点的位置信息;每一个像素点的位置信息包括横向位置值和纵向位置值;
29.将横向位置值最大的像素点的第一横向位置值和横向位置值最小的像素点的第二横向位置值的平均值作为触点位置的横向位置值,将纵向位置值最大的像素点的第一纵向位置值和纵向位置最小的像素点的第二纵向位置值的平均值作为触点位置的纵向位置值;或者,
30.将所有像素点的横向位置值的平均值作为触点位置的横向位置值,将所有像素点的纵向位置值的平均值作为触点位置的纵向位置值。
31.根据本发明的第二方面,一种红外触控屏的触摸区域识别系统,所述系统包括:
32.获取单元,用于根据所述红外触控屏的扫描数据获取所有的遮挡线;
33.第一处理单元,用于选取一条尚未被选取过的遮挡线作为第一遮挡线,并用于确定所述第一遮挡线的所有的交叉点,所述交叉点为所述第一遮挡线与其他遮挡线相交的点,并用于确定所述第一遮挡线的焦点,所述焦点为所述所有的交叉点中涉及遮挡线的数量最多的交叉点,并用于重复上述操作,直至得到所述所有的遮挡线的焦点;
34.第二处理单元,用于选取同时隶属于遮挡线的数量最多的焦点作为公共焦点,并用于在所述公共焦点的邻近区域内得到其他焦点,并用于根据所述其他焦点和所述公共焦点确定触摸区域,并用于对剩余的未确定触摸区域的焦点重复上述操作,直至得到所有的触摸区域。
35.进一步地,所述第一处理单元包括:
36.第一图像模块,用于将所述所有的遮挡线转换成所述红外触控屏对应的图像中的若干像素点;
37.第一判断模块,用于从所述第一遮挡线的若干像素点中选取一个尚未被选取过的像素点作为第一像素点,若所述第一像素点与其他遮挡线的任何一个像素点重合,则将所述第一像素点作为所述第一遮挡线的交叉点,并用于重复上述操作,直至完成对所有的像素点的判断。
38.进一步地,所述第一处理单元还包括:
39.第一计算模块,用于将所述第一像素点与所述其他遮挡线的任何一个像素点重合的次数设置为所述第一像素点的第一标记值;
40.所述第二处理单元包括:
41.第二计算模块,用于将所述第一标记值为最大值的像素点设置为所述第一遮挡线的焦点。
42.进一步地,所述第二处理单元还包括:
43.第二图像模块,用于将所述所有的遮挡线的焦点转换成所述红外触控屏对应的图像中的若干像素点;
44.第二判断模块,用于从所述若干像素点中选取一个尚未被选取过的像素点作为第二像素点,将所述第二像素点被判断为焦点的次数设置为所述第二像素点的第二标记值,并用于重复上述操作,直至得到所有的像素点的第二标记值;
45.第三计算模块,用于将所述第二标记值为最大值的像素点设置为所述公共焦点。
46.进一步地,所述第二处理单元还包括:
47.第三判断模块,用于将所述公共焦点作为目标并判断其邻域像素点是否为焦点,若是则将该邻域像素点并入所述目标并继续进行判断,直至所述目标的邻域像素点均不为焦点;
48.其中,所述邻域像素点为与所述目标直接相邻的像素点,或者为与所述目标之间存在不超过预设数量的像素点空位的像素点。
49.进一步地,所述第二处理单元还包括:
50.第四计算模块,用于根据所述触摸区域内所有焦点的位置计算得到所述触摸区域的触点位置。
51.进一步地,所述第四计算模块还包括:
52.第一组件,用于根据所述红外触控屏对应的图像得到所述触摸区域内所有焦点对应的像素点的位置信息;每一个像素点的位置信息包括横向位置值和纵向位置值;
53.第二组件,用于将横向位置值最大的像素点的第一横向位置值和横向位置值最小的像素点的第二横向位置值的平均值作为触点位置的横向位置值,并用于将纵向位置值最大的像素点的第一纵向位置值和纵向位置最小的像素点的第二纵向位置值的平均值作为触点位置的纵向位置值;或者,
54.用于将所有像素点的横向位置值的平均值作为触点位置的横向位置值,并用于将所有像素点的纵向位置值的平均值作为触点位置的纵向位置值。
55.根据本发明的第三方面,一种具有红外触控屏的电子设备,包括处理器、存储器和存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述第一方面所述的红外触控屏的触摸区域识别方法。
56.根据本发明的第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现如上述第一方面所述的红外触控屏的触摸区域识别方法。
57.本发明的红外触控屏的触摸区域识别方法,根据红外触控屏的红外线扫描数据得到所有的遮挡线,在分别得到每条遮挡线的交叉点和焦点的基础上,通过选取公共焦点以及公共焦点邻近区域内的其他焦点得到相应的触摸区域,尤其是在红外触控屏存在多点触控的情况下,可通过依次确认公共焦点及其邻近区域内的其他焦点得到所有的触摸区域,即包括较大触点的触摸区域和较小触点的触摸区域,而不需要先计算得到较大触点的触摸区域、再通过遮挡线反推的步骤尝试得到其他较小触点的触摸区域,能避免多次反复计算,能有效提高触摸区域识别的计算效率,亦能尽可能地避免遗漏较小触点,减少细笔丢笔和无法识别等问题,有助于提高触点识别的准确性,能改善红外触控操作的用户体验。
58.本发明的红外触控屏的触摸区域识别系统,采用上述红外触控屏的触摸区域识别方法,能有效快速地识别触摸区域,尤其是在多点触控时能准确地得到较大触点和较小触点的触摸区域,避免现有技术中因受限于预设阈值设置的问题需要进行多次计算的过程。
59.本发明的具有红外触控屏的电子设备和计算机可读存储介质,均采用上述红外触控屏的触摸区域识别方法,能有效提高触摸区域识别的计算效率和准确性,使得红外触控操作的用户体验得到改善。
60.本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
61.以下将参照附图对根据本发明的红外触控屏的触摸区域识别方法的优选实施方式进行描述。图中:
62.图1为本发明的红外触控屏的触摸区域识别方法的一种优选实施方式的流程示意图;
63.图2为本发明的一种优选实施方式的遮挡线和两个触摸区域的位置示意图;
64.图3为本发明的一种优选实施方式的触摸区域的像素点分布示意图;
65.图4为本发明的以公共焦点为目标并判断其邻域像素点是否为焦点的示意图,其中,图4a为与目标直接相邻的像素点为焦点的示意图;图4b为与目标之间允许不超过预设数量的像素点为焦点的示意图;
66.图5为本发明的一种优选实施方式的焦点分布示意图;
67.图6为本发明的一种优选实施方式的触摸区域的矩形边界示意图。
68.附图标记说明:1红外触控屏,2遮挡线,3较大触点,4较小触点。
具体实施方式
69.参见图1,本发明提供了一种红外触控屏的触摸区域识别方法,所述方法包括如下步骤:
70.s100,根据红外触控屏的扫描数据获取所有的遮挡线。
71.其中,红外触控屏通常包括安装在触控屏四周边框上的若干红外发射单元和若干红外接收单元及其驱动电路,在驱动电路的作用下,每个红外发射单元按照预先设置的多个红外光路方向发射红外线,每个红外接收单元接收各自对应的红外线,由此在触控屏的屏幕表面上形成一个红外线光网,通过不停地扫描是否有红外线被物体阻挡以检测并定位物体的触摸。触控操作的物体(例如手指)在触摸屏幕表面时,红外线光网中的某些红外线就会被遮挡,被遮挡的红外线即为遮挡线,触摸区域对应的红外接收单元所接收到的红外线光信号参数(例如光通量)就会发生变化,将这种变化转化为电信号并与无触摸时的电信号进行比较,即可计算得到每个遮挡线在红外触控屏上的具体位置和方向。参见图2,当红外触控屏1感应到一个较大触点3和一个较小触点4时,较大触点3和较小触点4分别有若干条遮挡线2经过。
72.s200,选取一条尚未被选取过的遮挡线作为第一遮挡线,确定第一遮挡线的所有的交叉点,所述交叉点为第一遮挡线与其他遮挡线相交的点,并确定第一遮挡线的焦点,所述焦点为所有的交叉点中涉及遮挡线的数量最多的交叉点,重复上述操作,直至得到所有的遮挡线的焦点。
73.其中,每一条遮挡线均与其他一条或多条遮挡线相交,在确定每一条遮挡线的交叉点和焦点时,依次从所有的遮挡线中选取不同的遮挡线作为第一遮挡线,并确定第一遮挡线的所有的交叉点,再从第一遮挡线的所有的交叉点中将涉及相交遮挡线的数量最多的交叉点作为第一遮挡线的焦点。
74.例如,由步骤s100获取得到所有的遮挡线共n条,第一次选取遮挡线时,该n条遮挡线均未被选取过,则从该n条遮挡线中选取任意一条遮挡线作为第一遮挡线,并确定第一遮挡线的交叉点和焦点;第二次选取遮挡线时,则从剩余的(n-1)条遮挡线中选取任意一条遮挡线作为第一遮挡线,并确定第一遮挡线的交叉点和焦点。按照上述方式,继续依次从(n-2)、(n-3)、

、1条遮挡线中选取任意一条遮挡线作为第一遮挡线,并确定交叉点和焦点,由此得到该n条遮挡线中每一条遮挡线的交叉点和焦点。
75.需要说明的是,在个别情况下,若存在涉及遮挡线的数量最多的交叉点为二个或以上时,则可通过设定判断条件选择其中一个交叉点作为焦点。例如,由步骤s200得到第一遮挡线的所有的交叉点共d个,先选取任意一个交叉点作为临时焦点,并将该交叉点涉及遮挡线的数量作为参考值;再从剩余(d-1)个交叉点中选取任意一个交叉点,并将该交叉点涉
及遮挡线的数量与参考值进行比较,判断条件设定为:当该交叉点涉及遮挡线的数量大于参考值,则将该交叉点作为临时焦点,并将参考值更新为该交叉点涉及遮挡线的数量;按上述方法,直至完成对所有的交叉点的比较,最后将临时焦点所对应的交叉点确定为第一遮挡线的焦点,由此,只有当新选取的交叉点涉及遮挡线的数量大于参考值,才会将临时焦点更新为新选取的焦点,如果数值相等,则临时焦点保持不变;或者,判断条件设定为:当该交叉点大于等于参考值,由此,当新选取的交叉点涉及遮挡线的数量等于参考值,则将临时焦点更新为该新选取的交叉点。
76.s300,选取同时隶属于遮挡线的数量最多的焦点作为公共焦点,在公共焦点的邻近区域内得到其他焦点,并根据得到的其他焦点和公共焦点确定触摸区域,对剩余的未确定触摸区域的焦点重复上述操作,直至得到所有的触摸区域。
77.其中,同时隶属于遮挡线的数量最多的焦点是指经过该焦点的遮挡线数量最多的焦点。
78.公共焦点的邻近区域是指在红外触控屏上以该公共焦点中心选取一定大小的区域,该区域的大小通常远小于红外触控屏的屏幕大小。邻近区域作为一个搜索范围,以快速得到在这个搜索范围内与公共焦点距离较近的其他焦点。
79.触摸区域的确定可以通过将得到的其他焦点和公共焦点两两连通后得到的连通图,并将连通图的边界作为触摸区域的边界,也可以将得到的其他焦点和公共焦点作为一个集合,设置一个具有横向边和纵向边的矩形来表示触摸区域的边界,该矩形的横向边为该集合内焦点之间的最大横向间距,该矩形的纵向边为该集合内焦点之间的最大纵向间距。触摸区域是得到的其他焦点和公共焦点在红外触控屏上形成的一个更能反映实际触摸位置的区域。
80.剩余的未确定触摸区域的焦点是指还未确定其所属触摸区域的焦点,已经确定有所属触摸区域的焦点不再进行此步骤。
81.例如,由步骤s200得到所有的焦点共p个,第一次选取公共焦点时,该p个焦点均未确定触摸区域,则从该p个焦点中选取隶属于遮挡线的数量最多的焦点作为公共焦点,并在公共焦点的邻近区域内得到其他焦点共q个(q<p),根据该公共焦点和q个其他焦点确定一个触摸区域;第二次选取公共焦点时,则从剩余的(p-q)个焦点中进行选取,这(p-q)个焦点还未确定触摸区域,选取隶属于遮挡线的数量最多的焦点作为公共焦点,并按上述方式确定下一个触摸区域,直至得到所有的触摸区域。
82.通过上述步骤,将每条遮挡线与其他遮挡线相交最多的交叉点作为每条遮挡线的焦点,在得到所有遮挡线的焦点后,选取涉及遮挡线最多的焦点作为公共焦点,并根据该公共焦点以及与其距离较近的其他焦点确定相应的触摸区域,尤其是,能够将多个焦点基于位置关系进行划分以识别得到较大触点和较小触点的触摸区域,不需要在得到较大触点的触摸区域后、针对较小触点的触摸区域再进行遮挡线反推和调整阈值门槛的计算过程,使得触摸区域识别的计算效率显著提高,也使得触摸区域识别的准确性得到改善,有助于提高红外触控操作过程中的用户体验。
83.作为可选的实施例,所述步骤s200中,所述确定第一遮挡线的所有的交叉点包括如下步骤:
84.s210,将所有的遮挡线转换成红外触控屏对应的图像中的若干像素点。
85.其中,红外触控屏对应的图像是指将红外触控屏的屏幕表面直接按实际屏幕的横向长度和纵向长度构成一个矩形图像,或者按实际屏幕的横向长度和纵向长度比例缩放构成一个矩形图像,该矩形图像由按矩阵方式排列的若干个像素点构成,也就是通常所说的红外触控屏的显示分辨率。根据红外触控屏的扫描数据,当红外线光网中的某些红外线被遮挡时,红外触控屏上触摸区域所对应的红外接收单元接收到的红外线光信号发生变化,由此可计算得到遮挡线在红外触控屏上的具体位置,根据红外触控屏和图像的上述关系,可相应地换算得到遮挡线在红外触控屏对应的若干像素点。
86.s220,从第一遮挡线的若干像素点中选取其中一个尚未被选取过的像素点作为第一像素点,若第一像素点与其他遮挡线的任何一个像素点重合,则将第一像素点作为第一遮挡线的交叉点,重复上述操作,直至完成对所有的像素点的判断。
87.需要说明的是,其他遮挡线是指除了第一遮挡线之外的所有遮挡线。例如,由步骤s210分别得到n条遮挡线的若干像素点,具体可表示为l1、l2、

、ln,ln代表每条遮挡线的若干像素点的集合,将集合l1对应的遮挡线作为第一遮挡线,l1中包含m个像素点,第一次选取像素点,该m个像素点均未被选取过,则从该m个像素点中选取任意一个像素点作为第一像素点,并将第一像素点与集合l2、

、ln中所有像素点依次进行比较,若存在相同的像素点,则将第一像素点作为第一遮挡线的一个交叉点;第二次选取像素点时,则从剩余的(m-1)个像素点中选取任意一个像素点作为第一像素点,并将第一像素点与集合l2、

、ln中所有像素点依次进行比较,若存在相同的像素点,则将第一像素点作为第一遮挡线的另一个交叉点。按照上述方式,继续依次从(m-2)、(m-3)、

、1个像素点中选取任意一个像素点作为第一像素点,并判断是否为交叉点,由此完成对第一遮挡线的所有的像素点的判断,并得到第一遮挡线的所有的交叉点。
88.通过上述步骤,对红外触控屏的屏幕转换为相应的图像,并基于图像的像素化处理使得遮挡线可由若干像素点进行描述,并对若干像素点依次进行判断从而确定每条遮挡线所有的交叉点。
89.作为上述实施例的替代实施例,根据红外触控屏的红外线光信号的变化计算得到遮挡线在屏幕上的坐标数据,从而可通过坐标数据的计算得到每条遮挡线的交叉点,并可用于后续的焦点确定。
90.作为可选的实施例,所述步骤s220中,所述将第一像素点作为第一遮挡线的交叉点还包括如下步骤:
91.s230,将第一像素点与其他遮挡线的任何一个像素点重合的次数设置为第一像素点的第一标记值。
92.参见图3,为了更直观地显示不同像素点的第一标记值的数值大小不同,通过颜色深浅来表征第一标记值的大小,颜色越深则表示该像素点的第一标记值越大,图中未显示每条遮挡线的全部像素点,仅显示了和触摸区域有关的第一标记值较高的多个像素点。
93.所述步骤s200中,所述确定第一遮挡线的焦点包括如下步骤:
94.s240,将第一标记值为最大值的像素点设置为第一遮挡线的焦点。
95.在个别情况下,若存在第一标记值为最大值的像素点为二个或以上时,则可通过设定判断条件选择其中一个像素点作为焦点。例如,根据步骤s220,得到第一遮挡线的作为交叉点的所有的像素点共x个,根据步骤s230,分别得到这x个像素点的第一标记值,可表示
为t1、t2、

、t
x
,分别对应于这x个像素点,先将t1所对应的像素点作为临时焦点,并将t1作为参考值c,再将t2与c进行比较,判断条件设定为:若ti>c(其中,i为正整数且2≤i≤x)则c=ti并将临时焦点更新为ti所对应的像素点,按上述方法完成对t3、t4、

、t
x
的判断,最后得到的c作为最大标记值,并将临时焦点确定为第一遮挡线的焦点。
96.通过上述步骤,能够得到每条遮挡线上与其他遮挡线交叉最多的像素点,将该像素点作为该遮挡线的焦点,由此可以识别得到与触摸区域相关的像素点,不会遗漏较小触点的触摸区域内的像素点,能确保触摸区域识别的准确性。
97.作为可选的实施例,所述步骤s300中,所述选取同时隶属于遮挡线的数量最多的焦点作为公共焦点包括如下步骤:
98.s310,将所有的遮挡线的焦点转换成红外触控屏对应的图像中的若干像素点。
99.其中,焦点转换成红外触控屏对应的图像中的像素点的具体方法可参考步骤s210。
100.s320,从若干像素点中选取一个尚未被选取过的像素点作为第二像素点,将第二像素点被判断为焦点的次数设置为第二像素点的第二标记值,重复上述操作,直至得到所有的像素点的第二标记值。
101.其中,第二标记值用于作为确定公共焦点的判断依据。例如,由步骤s310得到n条遮挡线的焦点共n个,该n个焦点在红外触控屏对应的图像中转换为p个像素点,一般来说,n小于p,也就是说多个焦点会对应于一个像素点;第一次选取像素点时,该p个像素点均未被选取过,则从该p个像素点中选取任意一个像素点作为第二像素点,将第二像素点与该n个焦点进行对应,并第二像素点和该n个焦点能够对应的次数设置为第二像素点的第二标记值;第二次选取像素点时,则从剩余(p-1)个像素点中选取任意一个像素点作为第二像素点,按上述方法得到第二像素点的第二标记值。按照上述方法,继续依次从(p-2)、(p-3)、

、1个像素点中任意选取一个像素点作为第二像素点,并得到相应的第二标记值,由此得到所有的像素点的第二标记值。
102.s330,将第二标记值为最大值的像素点设置为公共焦点。
103.在个别情况下,若存在第二标记值为最大值的像素点为二个或以上时,则可通过设定判断条件选择其中一个像素点作为公共焦点,具体方法可参考步骤s240。
104.通过上述步骤,将焦点转换为红外触控屏对应的图像中像素点,并根据焦点和像素点的对应关系确定每个像素点的第二标记值,由此确定与触摸区域在位置关系上最接近的像素点,并将其作为公共焦点用于后续确定邻近区域内的其他焦点和触摸区域,这样的计算方法简单、高效,易于实现,能够有效提高触摸区域识别的计算效率。
105.作为可选的实施例,所述步骤s300中,所述在公共焦点的邻近区域内得到其他焦点包括如下步骤:
106.s340,将所有的遮挡线的焦点转换成红外触控屏对应的图像中的若干像素点。
107.其中,将焦点转换成红外触控屏对应的图像中的像素点的具体方法可参考步骤s210。
108.s350,将公共焦点作为目标并判断其邻域像素点是否为焦点,若是则将该邻域像素点并入所述目标并继续进行判断,直至所述目标的邻域像素点均不为焦点。
109.其中,所述邻域像素点为与所述目标直接相邻的像素点,或者为与所述目标之间
存在不超过预设数量的像素点空位的像素点。
110.例如,参见图4,图4a和图4b均包括5x5个像素点。
111.具体地,参见图4a,由步骤s310将遮挡线的焦点转换为图中的像素点r23、r32、r33、r34和r44(图中带有灰色标识的像素点),由步骤s320和s330得到像素点r33为公共焦点;按照邻域像素点为与目标直接相邻的像素点的方式,与像素点r33的直接相邻的像素点为其上下左右直接邻接的四个像素点,即r23、r32、r34和r43,先以像素点r33作为目标并对像素点r23、r32、r34和r43进行判断,得到判断结果是像素点r23、r32、r34为焦点、r43不为焦点;将像素点r23、r32、r34并入目标并继续进行判断,判断的范围扩大至像素点r13、r22、r24、r31、r35、r42、r44,得到判断结果是像素点r44为焦点,其余像素点均不为焦点;按照上述方式,将像素点r44并入目标并继续对目标的邻域像素点进行判断,得到判断结果是目标的邻域像素点均不为焦点,则本步骤结束。由此,得到作为公共焦点的像素点r33的邻近区域内的其他焦点为r23、r32、r34、r44。
112.具体地,参见图4b,由步骤s310将遮挡线的焦点转换为图中的像素点r23、r32、r33、r34和r53(图中带有灰色标识的像素点),由步骤s320和s330得到像素点r33作为公共焦点;按照邻域像素点为与目标之间存在不超过预设数量的像素点空位的像素点的方式,这里设定预设数量为1,像素点r33的邻域像素点包括r13、r23、r24、r31、r32、r34、r35、r43、r53,对这些邻域像素点进行判断,得到判断结果是像素点r23、r32、r34、r53为焦点;后续重复步骤不再赘述。由此,得到作为公共焦点的像素点r33的邻近区域内的其他焦点为r23、r32、r34、r53。
113.通过上述步骤,在公共焦点附近的合理范围内确定得到其他焦点,能将属于同一个触摸区域的所有焦点进行聚合,以确定相应的触摸区域,尤其是目标与邻域像素点之间允许存在不超过一定数量的像素点空位,能减少因图像处理过程中产生的像素点计算误差而导致本该归属于同一个触摸区域的焦点分不同的触摸区域进行处理的情况,同时也能将距离较近的不同的触摸区域隔离开,避免在较大触点的计算过程中将较小触点吸收掉,有效降低细笔丢笔甚至根本无法识别等问题的出现概率。参见图5,图中显示了较大触点和较小触点的触摸区域的焦点分布,带有颜色的像素点即为焦点。
114.作为可选的实施例,所述步骤s300中,所述根据其他焦点和公共焦点确定触摸区域之后还包括如下步骤:
115.s360,根据触摸区域内所有焦点的位置计算得到触摸区域的触点位置。
116.通过上述步骤,触摸区域的触点位置可用于红外触控屏的各种触控系统应用,尤其是在多点触控时,得到的多个触摸区域的触点位置可方便后续的计算步骤和过程。
117.具体地,可以对每个焦点的区域属性进行标识,以区分该焦点归属于的触摸区域,从而可以方便地对得到的所有焦点进行区分和进行后续计算。例如,参见图4a,由步骤s310至步骤s350,得到作为公共焦点的像素点r33的邻近区域内的其他焦点为r23、r32、r34、r44,由此根据像素点r33、r23、r32、r34、r44确定一个触摸区域,并将像素点r33、r23、r32、r34、r44对应的焦点的区域属性进行标记,标记方法可以是对区域属性进行赋值操作,例如001。在得到下一个触摸区域后,可以对该触摸区域内的所有焦点的区域属性进行赋值操作,例如002,以和区域属性为001的焦点加以区分。
118.由此,通过对触摸区域内的所有焦点的区域属性进行标记,一方面,可以方便地区
分出已确认归属于某个触摸区域的焦点和未归属于任何一个触摸区域的焦点,已经处理并确认归属于某个触摸区域的焦点不再作为公共焦点,从而能减少计算量,并显著提高计算效率;另一方面,也可以对归属于不同触摸区域的焦点进行区分,可方便后续的触点位置计算。
119.作为可选的实施例,所述根据触摸区域内所有焦点的位置计算得到触摸区域的触点位置包括步骤s400:
120.s410,根据红外触控屏对应的图像得到触摸区域内所有焦点对应的像素点的位置信息;每一个像素点的位置信息包括横向位置值和纵向位置值。其中,红外触控屏的对应的图像可参考步骤s210的说明。
121.s420,将横向位置值最大的像素点的第一横向位置值和横向位置值最小的像素点的第二横向位置值的平均值作为触点位置的横向位置值,将纵向位置值最大的像素点的第一纵向位置值和纵向位置最小的像素点的第二纵向位置值的平均值作为触点位置的纵向位置值;或者,
122.将所有像素点的横向位置值的平均值作为触点位置的横向位置值,将所有像素点的纵向位置值的平均值作为触点位置的纵向位置值。
123.参见图6,图中每个触摸区域的边界通过一个矩形来表示,每个触摸区域的触点位置包括横向位置值和纵向位置值,触点位置的横向位置值的计算可以取该触摸区域内横向间距最大的两个像素点的横向位置值的平均值,类似地,触点位置的纵向位置值的计算可以取该触摸区域内纵向间距最大的两个像素点的纵向位置值的平均值,也就是上述步骤s420中的第一种方法。通过这种方法,实现起来更为简单,在一定的误差允许范围,能显著提高触点位置计算的效率,可有效降低硬件配置的要求。
124.考虑到触摸区域内的焦点分布存在不够均匀的情况,因而可根据触摸区域内所有像素点的位置信息的平均值来确定触点位置,即上述步骤s420中的第二种方法。
125.另外,也可以对每个像素点的位置信息根据该像素点的第一标记值和/或第二标记值先进行加权并得到加权平均值,也可以将横向位置值最大的像素点的横向位置值和剩余其他像素点的横向位置值的加权平均值作为触点位置的横向位置值,将纵向位置值最大的像素点的纵向位置值和剩余其他像素点的纵向位置值的加权平均值作为触点位置的纵向位置值,例如,横向位置值最大的像素点的横向位置值配置权重为p,剩余其他像素点的横向位置值配置权重为q,且p>q。由此得到的触点位置能更接近真实的触摸区域的中心位置,适用于计算精度要求更高的红外触控应用场合。
126.本发明还提供了一种红外触控屏的触摸区域识别系统,所述系统包括获取单元、第一处理单元和第二处理单元。
127.获取单元用于根据所述红外触控屏的扫描数据获取所有的遮挡线。
128.第一处理单元用于选取一条尚未被选取过的遮挡线作为第一遮挡线,并用于确定所述第一遮挡线的所有的交叉点,所述交叉点为所述第一遮挡线与其他遮挡线相交的点,并用于确定所述第一遮挡线的焦点,所述焦点为所述所有的交叉点中涉及遮挡线的数量最多的交叉点,并用于重复上述操作,直至得到所述所有的遮挡线的焦点。
129.第二处理单元用于选取同时隶属于遮挡线的数量最多的焦点作为公共焦点,并用于在所述公共焦点的邻近区域内得到其他焦点,并用于根据所述其他焦点和所述公共焦点
确定触摸区域,并用于对剩余的未确定触摸区域的焦点重复上述操作,直至得到所有的触摸区域。由此,所述触摸区域识别系统采用上述红外触控屏的触摸区域识别方法,能够快速准确地识别得到较大触点和较小触点的触摸区域,避免现有技术中因受限于预设阈值设置的问题需要进行多次计算的过程,从而提高触摸区域识别的计算效率和准确性。
130.作为可选的实施例,所述第一处理单元包括第一图像模块和第一判断模块。
131.第一图像模块用于将所有的遮挡线转换成所述红外触控屏对应的图像中的若干像素点。
132.第一判断模块用于从第一遮挡线的若干像素点中选取一个尚未被选取过的像素点作为第一像素点,若所述第一像素点与其他遮挡线的任何一个像素点重合,则将所述第一像素点作为所述第一遮挡线的交叉点,并用于重复上述操作,直至完成对所有的像素点的判断。
133.由此,通过上述模块,将每条遮挡线转换为红外触控屏对应的图像中的若干像素点,并将每条遮挡线上与其他遮挡线相交的像素点作为该遮挡线的交叉点,由此可以初步识别得到与触摸区域相关的像素点,为后续得到遮挡线的焦点提供数据基础,确保触摸区域识别的准确性。
134.作为可选的实施例,所述第一处理单元还包括第一计算模块,相应地,第二处理单元包括第二计算模块。
135.第一计算模块用于将所述第一像素点与所述其他遮挡线的任何一个像素点重合的次数设置为所述第一像素点的第一标记值,
136.第二计算模块用于将所述第一标记值为最大值的像素点设置为所述第一遮挡线的焦点。
137.由此,通过上述模块,能将每条遮挡线上与其他遮挡线交叉最多的像素点作为该遮挡线的焦点,为后续确定触摸区域提供数据基础,能快速地、准确地识别得到较大触点和较小触点的触摸区域,无需针对较小触点进行多次反复计算,有效提高触摸区域识别、定位的计算效率,还可避免遗漏较小触点,有助于提高触摸区域识别的准确性。
138.作为可选的实施例,所述第二处理算单元还包括第二图像模块、第二判断模块、第三计算模块。
139.第二图像模块用于将所述所有的遮挡线的焦点转换成所述红外触控屏对应的图像中的若干像素点。
140.第二判断模块用于从所述若干像素点中选取一个尚未被选取过的像素点作为第二像素点,将所述第二像素点被判断为焦点的次数设置为所述第二像素点的第二标记值,并用于重复上述操作,直至得到所有的像素点的第二标记值。
141.第三计算模块用于将所述第二标记值为最大值的像素点设置为所述公共焦点。由此,通过上述模块得到触摸区域中涉及遮挡线交叉最为集中的像素点作为公共焦点,有助于提高触摸区域识别的准确性,且方法步骤简单、高效,易于实现。
142.作为可选的实施例,所述第二处理单元还包括第三判断模块。
143.第三判断模块用于将所述公共焦点作为目标并判断其邻域像素点是否为焦点,若是则将该邻域像素点并入所述目标并继续进行判断,直至所述目标的邻域像素点均不为焦点;其中,所述邻域像素点为与所述目标直接相邻的像素点,或者为与所述目标之间存在不
超过预设数量的像素点空位的像素点。由此,通过上述模块,以公共焦点为目标,先将该公共焦点周围焦点全部找出来,再将这些新得到的焦点并入目标,并继续将目标的周围区域的焦点全部找出来,按照这样的方法依次往外扩大范围直至邻域像素点不是焦点为止,随后将所有找到的焦点连通形成一个触摸区域,可见,不论触点的大小,都可以识别得到所有触点的触摸区域,计算方法不仅易于实现,而且计算效率较高,亦能避免遗漏较小触点。
144.作为可选的实施例,所述第二处理单元还包括第四计算模块。
145.第四计算模块用于根据触摸区域内所有焦点的位置计算得到触摸区域的触点位置。
146.通过上述模块,触摸区域的触点位置可用于红外触控屏的各种触控系统应用,尤其是在多点触控时,得到的多个触摸区域的触点位置可方便后续的计算步骤和过程。
147.作为可选的实施例,所述第四计算模块还包括第一组件和第二组件。
148.第一组件用于根据红外触控屏对应的图像得到所述触摸区域内所有焦点对应的像素点的位置信息。其中,每一个像素点的位置信息包括横向位置值和纵向位置值。
149.第二组件用于将横向位置值最大的像素点的第一横向位置值和横向位置值最小的像素点的第二横向位置值的平均值作为触点位置的横向位置值,并用于将纵向位置值最大的像素点的第一纵向位置值和纵向位置最小的像素点的第二纵向位置值的平均值作为触点位置的纵向位置值;或者,
150.第二组件用于将所有像素点的横向位置值的平均值作为触点位置的横向位置值,并用于将所有像素点的纵向位置值的平均值作为触点位置的纵向位置值。
151.由此,通过上述模块,可根据实际需求计算得到每个触摸区域的触点位置,既可以通过相对简单的位置值数据取平均值的方法,也可以通过对位置值数据进行加权处理后取平均值,由此得到的触点位置更接近真实的触摸区域中心的位置信息,以满足更高的计算精度要求。
152.本发明还提供了一种具有红外触控屏的电子设备,包括处理器、存储器和存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述实施例所述的红外触控屏的触摸区域识别方法。
153.本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于运行以实现上述实施例所述的红外触控屏的触摸区域识别方法。
154.本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
155.应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献