CN101807125B - 光学指示装置点击判断方法 - Google Patents
光学指示装置点击判断方法 Download PDFInfo
- Publication number
- CN101807125B CN101807125B CN2010101320460A CN201010132046A CN101807125B CN 101807125 B CN101807125 B CN 101807125B CN 2010101320460 A CN2010101320460 A CN 2010101320460A CN 201010132046 A CN201010132046 A CN 201010132046A CN 101807125 B CN101807125 B CN 101807125B
- Authority
- CN
- China
- Prior art keywords
- counter
- length
- value
- pixel value
- totalizer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- Image Analysis (AREA)
Abstract
本发明揭示一种光学指示装置点击判断方法,通过光学的方式判断点击事件,该方法通过对设定数量的帧数的图像做为一步长进行整体处理,其中计算出每一步长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大于按下阈值的图像数量;之后依据前后步的大于一设定按下阈值的差值加总后的平均值的关系计算抬起计数器与抬起后预按下计数器的值;其后依据按下计数器的值与步长所包含图像的帧数判断按下或抬起状态,从而更能准确反映使用者的操作状况,从而更利于人机有效互动。
Description
【技术领域】
本发明有关一种光学指示装置,特别是指应用于光学指示装置上的利用光学的方式实现点击判断的方法。
【背景技术】
现有的光学指示装置或光学导航装置(如光电鼠标或光电轨迹球等)的点击功能的实现大多是通过机构的方式,即在该光学指示装置上单独设置一按键(如光电鼠标的左右键等),使用者按压该按键从而实现点击的功能,但此种结构因体积较大而无法整合在便携式电子装置(如手机、音乐播放器等)上,或者虽可整合在此类装置上,但由于结构复杂,不利于进一步降低该类装置的尺寸。对此,业界也提出一种利用手指实现光学导航(即控制屏幕光标移动)的装置,但此种结构只是针对光标移动的控制,对于点击功能的实现还是需借助于其他按键,也不利于缩小使用此光学导航装置的电子装置的体积。当然,业界也针对此种结构提出了利用光学的方式实现点击的功能,如美国专利7,313,255号所示,但其只是简单地通过该光学指示装置的光敏检测阵列(或图像感应器)所采集的手指的图像特征判断使用者手指的抬起与按下,并通过设置一时间阀值判断按下的次数,但此种方案过于理想,且对使用者手指的抬起与按下状态的判断不够准确,没有对使用者手指的抬起与按下状态的过程进行判断,在实际使用中,使用者可能有思考或犹豫的时间,在抬起的过程中可能又有按下的动作,或按下的过程中又有抬起的动作,上述的方法并不能解决此问题,因此会造成误判断,从而影响人机交互的有效性。
【发明内容】
本发明的目的在于提供一种应用于光学指示装置,通过光学的方式能有效判断使用点击动作的方法,以解决现有技术不能准确判断使用者操作的缺陷。
为实现上述目的,实施本发明的光学指示装置点击判断方法包括如下步骤:
步骤一:初始化相关控制参数,包括设置按下阈值、抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器,并将抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器清零;
步骤二:以设定的step帧数的图像做为一步长进行整体处理,其中计算出每一步长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大于按下阈值的图像数量,根据按下计数器的值更新预按下计数器的值,之后再根据预按下计数器的值更新预按下信号标志;
步骤三:依据前后步大于按下阈值的差值加总后的平均值的关系计算抬起计数器与抬起后预按下计数器的值;
步骤四:依据预按下信号标志和按下计数器的值判断按下或抬起状态,根据抬起计数器的值判断按下状态时异常抬起情况,依抬起后预按下计数器的值判断是否清除抬起状态。
依据上述主要特征,步骤一中还包括设置步长计数器、图像像素值差值阈值加法器、异常抬起计数器及按下信号标志,并在步骤一中将这些控制参数的初始值均设为零。
依据上述主要特征,步骤二具体包括以下步骤:
设置一循环变量K,并令K=1(步骤S101);
利用光敏检测器阵列获取外部物体的一帧图像(步骤S102);
计算此帧图像最大像素值与最小像素值的差值DIFPIX(步骤S103)
判断K是否小于step+1(步骤104);
如是,则判断此帧图像的DIFPIX是否大于等于预先设定的一按下阈值(步骤S105);
如此帧图像的DIFPIX大于等于按下阈值,则按下计数器加1,同时图像像素值差值阈值加法器加上此DIFPIX(S106);
之后循环变量K自增1(步骤S107);
判断K是否等于step+1,如否则转入步骤S102。
依据上述主要特征,步骤二中如果此帧图像的DIFPIX小于预先设定的一按下阈值,则进入步骤S107。
依据上述主要特征,步骤二中如果K大于等于step+1,则步长计数器加1。
依据上述主要特征,步骤三具体包括如下步骤:
判断步长计数器是否等于1(步骤S200);
如是,则计算此步长的图像像素值差值阈值加法器的平均值,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同(步骤S201);
如步长计数器不等于1,则计算当前步长的图像像素值差值阈值加法器的平均值(步骤S202);
在上述二步骤后,判断当前步长的图像像素值差值阈值加法器的平均值是否大于前一步长的图像像素值差值阈值加法器的平均值(步骤S203);
如是,更新前一步长的图像像素值差值阈值加法器的平均值,即将令前一步长的图像像素值差值阈值加法器的平均值等于当前步长的图像像素值差值阈值加法器的平均值(步骤S204);
判断抬起计数器是否大于一预设的第二门限值(步骤S205);如否则将抬起后预按下计数器清零(步骤S208);之后将图像像素值差值阈值加法器清零(步骤S213);如是,则判断当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值(步骤S206),如否则将图像像素值差值阈值加法器清零(步骤S213);如是,则抬起后预按下计数器加1(步骤S207),之后将图像像素值差值阈值加法器清零(步骤S213)。
依据上述主要特征,步骤三还包括如下步骤:
如果当前步长的图像像素值差值阈值加法器的平均值小于等于前一步长的图像像素值差值阈值加法器的平均值,则判断当前步长的图像像素值差值阈值加法器的平均值是否不等于零(步骤S209);
如否,则将抬起计数器清零,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同(步骤S212),之后将图像像素值差值阈值加法器清零(步骤S213);
如是,则判断前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值(步骤S210),如否则将图像像素值差值阈值加法器清零(步骤S213);
如是则令抬起计数器加1,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同(步骤S211),之后将图像像素值差值阈值加法器清零(步骤S213)。
依据上述主要特征,步骤四具体包括如下步骤:
判断预按下信号标志是否为1(步骤S300);
如否则将异常抬起计数器清零(步骤S301),之后判断按下计数器是否等于step(步骤S307);
如预按下信号标志为1,则判断按下计数器的值是否等于步长step(步骤S302);如是,令按下信号标志设为1,并将异常抬起计数器清零(步骤S303),之后判断按下计数器是否等于step(步骤S307);
如按下计数器不等于步长step,则判断按下计数器是否大于零(步骤S304);如是,则令异常抬起加数器加1(步骤S306);如否,将预按下计数器清零(步骤S305);之后均判断按下计数器是否等于step(步骤S307);
判断按下计数器是否等于step(步骤S307);
如是,则预按下计数器加1(步骤S308);之后判断预按下计数器是否大于等于2(步骤S311);
如否则判断异常抬起计数器是否大于等于预先设置的第三门限值(步骤S309);如否则判断预按下计数器是否大于等于2(步骤S311);如是则预按下计数器清零(步骤S310);判断预按下计数器是否大于等于2(步骤S311);
判断预按下计数器是否大于等于2(步骤S311);
如是,则令预按下信号标志为1(步骤S312),之后将按下计数器清零(步骤S314);
如否,则令预按下信号标志及按下信号标志为零(步骤S313);之后将按下计数器清零(步骤S314)。
依据上述主要特征,该方法在步骤四之后还包括如下步骤:
判断抬起计数器是否大于等于预先设置的抬起阈值(步骤S112),如否则判断抬起后预按下计数器是否大于等于一预先设置的第一门限值(步骤S114);
如是,则预按下计数器清零(步骤S113);
之后判断抬起后预按下计数器是否大于等于一预先设置的第一门限值(步骤S114),如否则初始化循环变量K,进入下一步长的处理;
如是则抬起计数器清零(步骤S115),之后也初始化循环变量K,进入下一步长的处理。
依据上述主要特征,上述的第一、第二与第三门限值相同。
与现有技术相比较,本发明通过对使用者在操作过程中的异常状况进行记录并进行判断,从而避免误判的发生,从而更能准确反映使用者的操作状况,从而更利于人机有效互动。
【附图说明】
图1为实施本发明的主流程图。
图2为图1所示主流程图的一子流程图。
图3为图1所示主流程图的另一子流程图。
图4依图1的流程对各种状态的简化的判断流程图。
【具体实施方式】
实施本发明的光学指示装置点击判断方法应用于诸如光学手指导航装置上,该光学手指导航装置通常应用于手机等便携式电子装置上,以替换目前所使用的方向键、摇杆、触控板及轨迹球等结构,以控制此便携式电子装置显示屏幕上的光标的移动,以实现移动页面或选择菜单等功能。在具体实现时,其通常采用光学的方式实现对光标移动的控制及点击的动作。该光学指示装置通常包括一光敏检测器阵列(或光学图像传感器)、一数据处理单元及相应的光学透镜等,在使用进,该光敏检测器阵列通常该光学透镜配合而以一定的速率连续采集多帧使用者手指的图像,之后数据处理单元根据所采集的图像的相关性确定手指移动的距离,从而控制使用此光学指示装置的电子装置(如手机等便携式电子装置)显示屏幕上光标的移动,此与现有的光学鼠标的工作原理相同。对于点击的动作,则是通过对图像特征的分析而判断使用者手指是接近还是远离此光学指示装置,对于具体的工作原理可参考美国专利7,313,255所示,以下只针对本发明对现有技术的改进之处做详细说明。
实施本发明的光学指示装置点击判断方法主要包括如下步骤:
步骤一:初始化相关控制参数,包括设置按下阈值、抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器,并将抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器清零;
步骤二:以设定的step帧数的图像做为一步长进行整体处理,其中计算出每一步长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大于按下阈值的图像数量,根据按下计数器的值更新预按下计数器的值,之后再根据预按下计数器的值更新预按下信号标志;
步骤三:依据前后步大于按下阈值的差值加总后的平均值的关系计算抬起计数器与抬起后预按下计数器的值;
步骤四:依据预按下信号标志和按下计数器的值判断按下或抬起状态,根据抬起计数器的值判断按下状态时异常抬起情况,依抬起后预按下计数器的值判断是否清除抬起状态。
对于具体的过程,以下将结合图1至图3对以上的流程进行详细说明,其中图1为实施本发明的光学指示装置点击判断方法的主流程图,该方法包括如下步骤:
初始化相关控制参数,即步骤S100,其中主要为步长计数器、图像像素值差值阈值加法器、抬起计数器、抬起后预按下计数器、按下计数器、预按下计数器、异常抬起计数器、预按下信号标志及按下信号标志,在初始化步骤中,将这些控制参数的初始值均设为零。在具体实施时,这些控制参数均可设置在该光学指示装置的数据处理单元的寄存器中,此种实现方式在现有数字控制技术中多有应用,此处也不再详细说明。
初始化循环变量K,即令K=1,即步骤S101;
利用光敏检测器阵列获取外部物体(如使用者手指)的一帧图像,即步骤S102;
计算此帧图像最大像素值与最小像素值的差值(为便于描述,以下均以DIFPIX代替),即步骤S103;
判断K是否小于step+1,即步骤104;在具体实施时是以step帧图像为一个整体进行处理,可将此整体做为帧处理步长,在具体实施时step可以设置为8,即以8帧图像为一步长进行处理;
如是,则判断此帧图像的DIFPIX是否大于等于预先设定的一按下阈值,即步骤S105,在实际实施时此按下阈值可设为30,即此帧图像中最大像素值与最小像素值的差值大于或等于30,如否则转入步骤S107;对于此通过手指操作的光学指示装置,由手指按下和抬离此光学指示装置工作面的过程可知,在手指移向并接触此光学指示装置的过程中,即手指按下的过程中,所采集的图像逐渐清晰,而图像的DIFPIX逐渐增大,直至手指完全按下,则DIFPIX将趋于一渐进的稳定的较大值;而当手指抬离该光学指示装置的工作面的过程中,图像逐渐模糊,DIFPIX逐渐减小,当抬离到一定的高度时,DIFPIX将趋于一渐进稳定的较小值。由此,通过设定一按下阈值,当DIFPIX小于此按下阈值时,则认为手指已完全抬离该光学指示装置的工作面;当差值大于等于按下阈值时,则认为手指有按下的趋势,由于手指在按下或抬起的过程中DIFPIX是逐渐增大或减小的,故需要判断确定手指按下或拿开的准确时间,以下的步骤便是为实现此目的。
如此帧图像的DIFPIX大于等于按下阈值,则按下计数器加1,同时图像像素值差值阈值加法器加上此DIFPIX,步骤S106,即图像像素值差值阈值加法器只加总所有DIFPIX大于等于预先设定的按下阈值的对应图像的DIFPIX;
之后循环变量K自增1,步骤S107;
判断K是否等于step+1,如是则转入步骤S109,如否则转入步骤S102;通过上述的步骤S101至S108,则可确保取得step帧(即一个步长)图像的所有DIFPIX;
在判断K大于等于N+1时,则进入步骤S109,即令步长计数器加1;
之后进入判断抬起计数器与抬起后预按下计数器的流程,即步骤S110,具体内容可参图2所示,容后详述;
之后进行判断按下抬起流程,即步骤S111,具体内容可参图3所示,容后详述;
之后判断抬起计数器是否大于等于预先设置的抬起阈值(在实际实施时此抬起阈值可设为7),即步骤S112,如否则转入步骤S114;
如是,则预按下计数器清零,即步骤S113,表示在按下状态下经过抬起阈值数量的step的前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像像素值差值阈值加法器的平均值的差值均大于等于某一设定的像素平均值差值阈值后的紧接的下一个step使按下信号标志为零,强制抬起;
之后判断抬起后预按下计数器是否大于等于一预先设置的第一门限值,即步骤S114,如否则转入步骤S101;
如是则抬起计数器清零,即步骤S115,即在抬起状态下,连续有第一门限值数量的step的当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值的差值均大于等于某一设定的像素平均值差值阈值时令抬起计数器为零,抑制在抬起状态后如果出现按下状态由于抬起计数器一直大于等于抬起阈值而判定为抬起状态的误判;之后转入步骤S101。
请参阅图2所示,为图1所示主流程图的一子流程图,即为判断抬起计数器与抬起后预按下计数器的流程,即步骤S110的具体过程,该过程主要包括如下步骤:
判断步长计数器是否等于1,步骤S200;
如是,则计算此步长的图像像素值差值阈值加法器的平均值,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,即步骤S201;
如步长计数器不等于1,则计算当前步长的图像像素值差值阈值加法器的平均值,即步骤S202;
在上述二步骤后,判断当前步长的图像像素值差值阈值加法器的平均值是否大于前一步长的图像像素值差值阈值加法器的平均值,即步骤S203;
如是,更新前一步长的图像像素值差值阈值加法器的平均值,即将令前一步长的图像像素值差值阈值加法器的平均值等于当前步长的图像像素值差值阈值加法器的平均值,即步骤S204,即在手指有按下的趋势的过程中,不断更新前一步长的图像像素值差值阈值加法器的平均值,使其达到一个最大值;
判断抬起计数器是否大于一预设的第二门限值,即步骤S205,如否则将抬起后预按下计数器清零,步骤S208,即在按下状态下需要将出现的短暂抬离后预按下趋势清掉,之后进入步骤S213,即将将图像像素值差值阈值加法器清零;
如是,则判断当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值,即步骤S206,如否则进入步骤S213;
如是,则抬起后预按下计数器加1,步骤S207,此表明在手指抬离的过程中出现按下的趋势,则记录这种趋势;
将图像像素值差值阈值加法器清零,步骤S213;
如果当前步长的图像像素值差值阈值加法器的平均值小于等于前一步长的图像像素值差值阈值加法器的平均值,则判断当前步长的图像像素值差值阈值加法器的平均值是否不等于零,步骤S209;
如否,即表明当前步长的图像像素值差值阈值加法器的平均值等于零,即在抬离过程中出现步长中每帧图像的DIFPIX都小于按下阈值(因图像像素值差值阈值加法器只是加总所有DIFPIX大于等于预先设定的按下阈值的对应图像的DIFPIX,如步长中所有图像的DIFPIX均小于按下阈值,即图像像素值差值阈值加法器没有增加,还是为零),即表明手指已完全抬离此光学指示装置的工作面,此时需将抬起计数器清零,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,步骤S212,之后进入步骤S213;
如是,则判断前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值,步骤S210,如否则进入步骤S213;
如是则令抬起计数器加1,即在手指按下状态出现抬离趋势,则需记录下该趋势,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,步骤S211,之后进入步骤S213,即将图像像素值差值阈值加法器清零。
请参阅图3所示,为图1所示主流程图的另一子流程图,为判断按下抬起流程,即步骤S111的具体过程,此过程包括如下步骤:
判断预按下信号标志是否为1,步骤S300;
如否则将异常抬起计数器清零,即步骤S301,即表示在抬起状态下将异常抬起计数器清零;之后进入步骤S307;
如预按下信号标志为1,则判断按下计数器的值是否等于步长step,即步骤S302;如是,则表明此步长的step帧图像的DIFPIX均大于等于按下阈值,则令按下信号标志设为1,即步骤S303,即在预按下信号标志为1的情况下,步长的step帧的DIFPIX均大于按下阈值则判断为按下状态,此时需将异常抬起计数器清零,之后进入步骤S307;
如按下计数器不等于步长step,则判断按下计数器是否大于零,即步骤S304;如是,则表明按下计数器小于step(因在一个步长的判断中,按下计数器最大值为step,最小值得为零,而也可能为零与step之间的一个值),即step帧中至少有一帧图像的DIFPIX小于按下阈值,则需令异常抬起加数器加1,即步骤S306,即记录在有预按下信号标志的情况下出现抬起趋势的异常状态;如否,则表明按下计数器为零,即表示step帧(即一步)中每帧图像的DIFPIX均小于按下阈值,即将预按下计数器清零,即步骤S305;即表示在有按下信号标志的情况下出现step帧中每帧图像的DIFPIX均小于按下阈值时则强制抬起,之后均进入步骤S307;
判断按下计数器是否等于step,即步骤S307;
如是,则预按下计数器加1,即步骤S308;之后进入步骤S311;
如否则判断异常抬起计数器是否大于等于预先设置的第三门限值,步骤S309;如否则转入步骤S311;如是则预按下计数器清零,步骤S310,表明在有预按下信号标志的情况下,连续第三门限值数量的step帧都出现抬起趋势时则强制抬起;之后也转入步骤S311;
判断预按下计数器是否大于等于2,步骤S311;
如是,则令预按下信号标志为1,步骤S312,表明如果连续有2个或以上step帧中每帧图像的DIFPIX均大于等于按下阈值时便令预按下信号标志为1,之后转入步骤S314;
如否,则令预按下信号标志及按下信号标志为零,即步骤S313,表示没有按下趋势则视为抬离状态;之后转入步骤S314,即将按下计数器清零。
在具体实施时,上述中的第一、第二与第三门限值及其他阈值也可设定在数据处理单元的寄存器中,并且第一、第二与第三门限值可相同,例如均可设定为3。
以下结合附图对此光学指示装置在点击过程中出现的情况进行说明。
当使用该光学指示装置的电子装置启动后,设使用者并未将手指按下时,依次通过步骤S101至S109、S200、S201、S203、S209、S212、S213、S300、S301、S307、S309、S311、S313、S314、S112、S114、之后再进入S101进入下一次循环,在S313中,按下信号标志还是保持为零,因此可判断出为抬起状态。
之后,使用者手指按下,则对按下过程进行判断,其中假设在此步长中部分图像的DIFPIX大于按下阈值,如此将依次通过步骤S101至S109、S200、S202、S203、S204、S205、S208、S213、S300、S301、S307、S309、S311、S313、S314、S112、S114,之后再进入S101进入下一次循环,其中在S313中,按下信号标志还是保持为零,因此认为是抬起状态。
假设使用者手指进一步接近该光学指示装置,在所采集的一个步长的图像的DIFPIX均大于按下阈值,如此将经过依次通过步骤S101至S109、S200、S202、S203、S204、S205、S208、S213、S300、S301、S307、S308、S311、S313、S314、S112、S114、之后再进入S101进入下一次循环,其中在S313中,按下信号标志还是保持为零,因此还认为是抬起状态,但在S308中,预按下计数器为1。
之后再经过一次上述的流程(即所采集的一个步长的图像的DIFPIX均大于按下阈值),令预按下计数器为2,而随后的下一个步长的处理则依次经过步骤S101至S109、S200、S202、S203、S204、S205、S208、S213、S300、S301、S307、S308、S311、S312、S314、S112、S114,之后再进入S101进入下一次循环,其中在S312中,预按下信号标志为1,即判断出有预按下的趋势,但此时按下信号标志还是保持为零,因此还认为是抬起状态。而在随后的一个步长的处理则经过步骤S101至S109、S200、S202、S203、S204、S208、S213、S300、S302、S303、S307、S308、S311、S312、S314、S112、S114,之后再进入S101进入下一次循环,在步骤S303中,按下信号标志为1,则确认为按下状态。
对于因使用者在按下过程或按下状态时有异常抬起动作的判断,假设在此步长中部分图像的DIFPIX小于按下阈值,则是依次通过步骤S101至S109、S200、S202、S203、S209、S210、S211、S213、S300、S302、S304、S306、S307、S309、S311、S312、S314、S112、S114,之后再进入S101进入下一次循环,在步骤S303中,按下信号标志为1,还是认为在按下状态。之后随着使用者手指远离该光学指示装置,所采集的步长的图像的DIFPIX均小于按下阈值,则依次通过步骤S101至S109、S200、S202、S203、S209、S212、S213、S300、S302、S304、S305、S307、S309、S311、S313、S314、S112、S114,之后再进入S101进入下一次循环,在步骤S212中抬起计数器清零,在步骤S305中将预按下计数器清零,即强制抬起。
对于使用者抬起过程中,此时需尽快地判断出抬起,即在所取步长的所有图像的DIFPIX均大于按下阈值时尽快能判断出,则是依次通过步骤S101至S109、S200、S202、S203、S209、S210、S211、S213、S300、S302、S303、S307、S308、S311、S312、S314、S112、S113、S114,之后再进入S101进入下一次循环,其中在步骤S113中,预按下计数器为无零,则判断是抬起过程,之后再经过步骤S101至S109、S200、S202、S203、S209、S210、S211、S213、S300、S302、S303、S307、S308、S311、S313、S314、S112、S113、S114,之后再进入S101进入下一次循环,其中在步骤S113中,预按下计数器为无零,则判断是抬起过程,而之后的再一次循环则依次经过S101至S109、S200、S202、S203、S209、S210、S211、S213、S300、S301、S307、S308、S311、S313、S314、S112、S113、S114,之后再进入S101进入下一次循环,其中在最后一步长的判断中,预按下信号标志为零,同时按下信号标志也为零,如此可确认处于抬起状态。
对于使用者在抬起过程中有异常按下的判断,则是依次经过步骤S101至S109、S200、S202、S203、S204、S205、S206、S207、S213、S300、S301、S307、S308、S311、S313、S314、S112、S113、S114,之后再进入S101进入下一次循环,之后进行二次同样的循环,在第4个步长中,则是依次经过如下的步骤S101至S109、S200、S202、S203、S204、S205、S206、S207、S213、S300、S301、S307、S308、S311、S313、S314、S112、S113、S114、S115,之后再进入S101进入下一次循环,在第5个步长中,则是依次经过如下的步骤S101至S109、S200、S202、S203、S204、S205、S208、S213、S300、S301、S307、S308、S311、S313、S314、S112、S114,之后再进入S101进入下一次循环,即在此过程中,在步骤S208中将抬起后预按下计数器清零,重新进入按下过程的判断。
请参阅图4所示,为依图1的流程对各种状态的简化的判断流程图,包括如下的步骤(在以下的步骤中,对于图像的取得等均可参考对图1至图3的说明,因此不再详细说明):
连续取得多个步长的图像,判断是否至少有3个(此为第一限值,具体可以设定)步长的所有图像的DIFPIX均在按下阈值之上,并且当步长的图像像素值差值阈值加法器的平均值大于前一步长的图像像素值差值阈值加法器的平均值,即步骤S400,如否则认为是抬起状态,即步骤S401;
如是,则认为是按下状态,即步骤S402;
在按下状态时,判断后续取得的图像中是否有3个(此为第二限值,具体可以设定)步长中每个步长中均有部分图像的DIFPIX在按下阈值之下,即步骤S403,如是则为异常抬起,即步骤S404;
在按下状态时,判断后续取得的图像中是否有7个(此为第三限值,具体可以设定)步长的当前图像像素值差值阈值加法器的平均值小于前一步长的图像像素值差值阈值加法器的平均值,即步骤S405,如否则持续判断,如是则为抬起状态,即步骤S406;
在抬起状态时,判断后续取得的图像中是否有3个(此为第四限值,具体可以设定)步长的当前图像像素值差值阈值加法器的平均值小于前一步长的图像像素值差值阈值加法器的平均值,即步骤S407,如否则持续判断,如是则为抬起后异常按下,则清除抬起状态,即步骤S408,之后返回步骤S400继续判断。
Claims (4)
1.一种光学指示装置点击判断方法,包括如下步骤:
步骤一:初始化相关控制参数,包括设置按下阈值、抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器,并将抬起计数器、按下计数器、预按下计数器、预按下信号标志及抬起后预按下计数器清零;
步骤二:以设定的step帧数的图像做为一步长进行整体处理,其中计算出每一步长中每帧的图像的最大像素值与最小像素值的差值,并对此大于一设定的按下阈值的差值进行加总,同时利用按下计数器统计每一步长中图像的最大像素值与最小像素值的差值大于按下阈值的图像数量,根据按下计数器的值更新预按下计数器的值,之后再根据预按下计数器的值更新预按下信号标志;
步骤三:依据前后步大于按下阈值的差值加总后的平均值的关系计算抬起计数器与抬起后预按下计数器的值;
步骤四:依据预按下信号标志和按下计数器的值判断按下或抬起状态,根据抬起计数器的值判断按下状态时异常抬起情况,依抬起后预按下计数器的值判断是否清除抬起状态;
其中步骤一中还包括设置步长计数器、图像像素值差值阈值加法器、异常抬起计数器及按下信号标志,并在步骤一中将这些控制参数的初始值均设为零;
步骤二具体包括以下步骤:设置一循环变量K,并令K=1,步骤S101;利用光敏检测器阵列获取外部物体的一帧图像,步骤S102;计算此帧图像最大像素值与最小像素值的差值DIFPIX,步骤S103;判断K是否小于step+1,步骤104;如是,则判断此帧图像的DIFPIX是否大于等于预先设定的一按下阈值,步骤S105;如此帧图像的DIFPIX大于等于按下阈值,则按下计数器加1,同时图像像素值差值阈值加法器加上此DIFPIX,步骤S106;之后循环变量K自增1,步骤S107;判断K是否等于step+1,如否则转入步骤S102;
再者,步骤二中如果此帧图像的DIFPIX小于预先设定的一按下阈值,则进入步骤S107,同时步骤二中如果K大于等于step+1,则步长计数器加1;
另外,步骤三具体包括如下步骤:判断步长计数器是否等于1,步骤S200;如是,则计算此步长的图像像素值差值阈值加法器的平均值,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,步骤S201;如否,则计算当前步长的图像像素值差值阈值加法器的平均值,步骤S202;在上述二步骤后,判断当前步长的图像像素值差值阈值加法器的平均值是否大于前一步长的图像像素值差值阈值加法器的平均值,步骤S203;如是,更新前一步长的图像像素值差值阈值加法器的平均值,即将令前一步长的图像像素值差值阈值加法器的平均值等于当前步长的图像像素值差值阈值加法器的平均值,步骤S204;判断抬起计数器是否大于一预设的第二门限值,步骤S205;如否则将抬起后预按下计数器清零,步骤S208;之后跳转到步骤S213;如是,则判断当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值,步骤S206;如否则跳转到步骤S213;如是,则抬起后预按下计数器加1,步骤S207,之后也跳转到步骤S213,将图像像素值差值阈值加法器清零;
另外,步骤三还包括如下步骤:如果当前步长的图像像素值差值阈值加法器的平均值小于等于前一步长的图像像素值差值阈值加法器的平均值,则判断当前步长的图像像素值差值阈值加法器的平均值是否不等于零,步骤S209;如否,则将抬起计数器清零,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,步骤S212,之后将图像像素值差值阈值加法器清零,步骤S213;如是,则判断前一步长的图像像素值差值阈值加法器的平均值与当前步长的图像像素值差值阈值加法器的平均值之差是否大于像素平均值差值阈值,步骤S210,如否则将图像像素值差值阈值加法器清零,步骤S213;如是则令抬起计数器加1,并令当前步长的图像像素值差值阈值加法器的平均值与前一步长的图像像素值差值阈值加法器的平均值相同,步骤S211,之后将图像像素值差值阈值加法器清零,步骤S213;
再者,步骤四具体包括如下步骤:判断预按下信号标志是否为1,步骤S300;如否则将异常抬起计数器清零,步骤S301,之后跳转到步骤S307;如预按下信号标志为1,则判断按下计数器的值是否等于步长step即步骤S302;如是,令按下信号标志设为1,并将异常抬起计数器清零,即步骤S303,之后跳转到步骤S307;如按下计数器不等于步长step,则判断按下计数器是否大于零,即步骤S304;如是,则令异常抬起加数器加1,步骤S306;如否,将预按下计数器清零,步骤S305;之后跳转到步骤S307;判断按下计数器是否等于step,步骤S307;如是,则预按下计数器加1,步骤S308;之后跳转到步骤S311;如否则判断异常抬起计数器是否大于等于预先设置的第三门限值,即步骤S309;如否则跳转到步骤S311;如是则预按下计数器清零,步骤S310;判断预按下计数器是否大于等于2,步骤S311;如是,则令预按下信号标志为1,步骤S312,之后跳转到步骤S314;如否,则令预按下信号标志及按下信号标志为零,步骤S313;将按下计数器清零,步骤S314。
2.如权利要求1所述的光学指示装置点击判断方法,其特征在于:该方法在步骤四之后还包括如下步骤:
判断抬起计数器是否大于等于预先设置的抬起阈值(步骤S112),如是,则预按下计数器清零(步骤S113);
如否或者在预按下计数器清零后,判断抬起后预按下计数器是否大于等于一预先设置的第一门限值(步骤S114);
如否则初始化循环变量K,进入下一步长的处理;
如是则抬起计数器清零(步骤S115),之后也初始化循环变量K,进入下一步长的处理。
3.如权利要求2所述的光学指示装置点击判断方法,其特征在于:上述的第一、第二与第三门限值相同。
4.一种光学指示装置点击判断方法,其特征在于该方法包括如下步骤:
利用光学指示装置的光敏检测器阵列连续取得多个步长的图像,其中每个步长是包括预定数量的图像帧数,判断是否至少有第一限值的步长的所有图像的最大像素值与最小像素值的差值DIFPIX均在按下阈值之上,并且当前步长的图像像素值差值阈值加法器的平均值大于前一步长的图像像素值差值阈值加法器的平均值(步骤S400),如否则认为是抬起状态(步骤S401);
如是,则认为是按下状态(步骤S402);
在按下状态时,判断后续取得的图像中是否有第二限值的步长中每个步长中均有部分图像的最大像素值与最小像素值的差值DIFPIX在按下阈值之下(步骤S403),如是则为异常抬起(步骤S404);
在按下状态时,判断后续取得的图像中是否有第三限值的步长的当前图像像素值差值阈值加法器的平均值均小于前一步长的图像像素值差值阈值加法器的平均值(步骤S405),如否则持续判断,如是则为抬起状态(步骤S406);
在抬起状态时,判断后续取得的图像中是否有第四限值的步长的当前图像像素值差值阈值加法器的平均值小于前一步长的图像像素值差值阈值加法器的平均值(步骤S407),如否则持续判断,如是则为抬起后异常按下,则清除抬起状态(步骤S408)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101320460A CN101807125B (zh) | 2010-03-25 | 2010-03-25 | 光学指示装置点击判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101320460A CN101807125B (zh) | 2010-03-25 | 2010-03-25 | 光学指示装置点击判断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101807125A CN101807125A (zh) | 2010-08-18 |
CN101807125B true CN101807125B (zh) | 2012-09-05 |
Family
ID=42608938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101320460A Expired - Fee Related CN101807125B (zh) | 2010-03-25 | 2010-03-25 | 光学指示装置点击判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101807125B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591528A (zh) * | 2011-01-07 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | 光学指示装置及其点击操作实现方法 |
CN111223233A (zh) * | 2019-12-23 | 2020-06-02 | 西安科技大学 | 一种基于动态窗口的重力传感器数据平滑处理算法 |
CN112432308B (zh) * | 2020-11-20 | 2022-07-08 | 珠海格力电器股份有限公司 | 触控交互装置及其控制方法、装置、空调机组 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506908A (zh) * | 2002-11-15 | 2004-06-23 | ���ղ��Ƽ��ɷ�����˾ | 计算光电鼠标移动值的方法和使用该方法的光电鼠标 |
CN1826605A (zh) * | 2003-07-18 | 2006-08-30 | Atmel格勒诺布尔公司 | 用于获取指纹图像的方法 |
US7421150B2 (en) * | 2004-01-17 | 2008-09-02 | Lg Electronics Inc. | Coordinate conversion apparatus and method |
CN101571768A (zh) * | 2009-06-11 | 2009-11-04 | 埃派克森微电子(上海)有限公司 | 防止屏幕光标异常运动的方法 |
-
2010
- 2010-03-25 CN CN2010101320460A patent/CN101807125B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506908A (zh) * | 2002-11-15 | 2004-06-23 | ���ղ��Ƽ��ɷ�����˾ | 计算光电鼠标移动值的方法和使用该方法的光电鼠标 |
CN1826605A (zh) * | 2003-07-18 | 2006-08-30 | Atmel格勒诺布尔公司 | 用于获取指纹图像的方法 |
US7421150B2 (en) * | 2004-01-17 | 2008-09-02 | Lg Electronics Inc. | Coordinate conversion apparatus and method |
CN101571768A (zh) * | 2009-06-11 | 2009-11-04 | 埃派克森微电子(上海)有限公司 | 防止屏幕光标异常运动的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101807125A (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3196752B1 (en) | Capacitive touch panel device, corresponding touch input detection method and computer program product | |
CN107077239B (zh) | 通过触控板调节移动终端拍照焦距的方法和移动终端 | |
CN109254823B (zh) | 一种切换多级嵌套的分页视图元素的方法、存储器及终端 | |
CN102203696B (zh) | 便携终端以及输入控制方法 | |
CN101523331A (zh) | 便携式终端及其控制方法 | |
CN102736759B (zh) | 触摸屏及其控制方法 | |
CN104662492A (zh) | 用于修改自动滚动的内容的滚动的信息处理装置、显示控制方法及程序 | |
KR20220092937A (ko) | 화면 표시의 제어 방법 및 전자기기 | |
US20130100061A1 (en) | Mobile terminal and controlling method thereof | |
CN107450841B (zh) | 交互对象控制方法及装置 | |
CN101807125B (zh) | 光学指示装置点击判断方法 | |
CN108024073B (zh) | 视频编辑方法、装置及智能移动终端 | |
CN103019518A (zh) | 一种自动调整人机交互界面的方法 | |
KR20090039206A (ko) | 터치스크린을 구비한 휴대 단말기의 문자 입력 방법 및장치 | |
KR20070091529A (ko) | 터치 센시티브 스크롤 방법 및 이를 위한 이동 헤드셋 | |
CN102782615A (zh) | 具有z速度增强的触摸屏幕 | |
CN102830936A (zh) | 一种移动设备的浏览方法及移动设备 | |
EP3678001A1 (en) | Method and device for controlling output of report | |
CN103365485A (zh) | 光学式触控感测装置 | |
CN108111750A (zh) | 一种变焦调节方法及移动终端 | |
CN103353804A (zh) | 一种基于触摸板的光标控制方法及装置 | |
CN103885692A (zh) | 页面切换方法、装置及终端 | |
KR100810215B1 (ko) | 이동 핸드셋을 사용한 사진 촬영 방법 및 그 이동 핸드셋 | |
CN105573638A (zh) | 一种图片发布方法和装置 | |
CN102520824A (zh) | 触控面板的控制装置、单点多指动作判断方法及其触控笔 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice |
Addressee: Apexone Microelectronics (Shanghai) Co., Ltd. Document name: Notification to Pay the Fees |
|
DD01 | Delivery of document by public notice |
Addressee: Apexone Microelectronics (Shanghai) Co., Ltd. Document name: Notification of Termination of Patent Right |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120905 Termination date: 20140325 |