光学指示装置异常状态侦测方法
【技术领域】
本发明属于光学图像处理技术,特别是应用于光学指示装置中,侦测该光学指示装置异常状态的方法。
【背景技术】
光学指示装置(如光电鼠标等)通过是通过一图像传感器阵列(如N行N列)取得外部工作表面或物体(如该光字指示装置的工作表面、外部物体或手指)的图像,经过数字化处理后,此多个图像传感器(即对应每一个像素)的图像值形成一个N行N列的矩阵,之后利用图像处理算法进行后续的处理与判断,如通过前后采样的两副图像计算此光学指示装置或手指的运动矢量,如此可控制使用该光学指示装置的电子装置(如电脑或手机等)的显示屏幕上的光标(如光学鼠标)或图形或对象(如游戏控制杆)的运动,具体的原理与现有的光电鼠标的工作原理相同,此在现有技术中多有描述,此处不再详细说明。
特别是,如对于鼠标,当于放置在工作表面处于工作状态时,可能由于使用者有意识或无意识的动作,令其处于抬起或侧抬起状态,此时其实际上处于不工作的状态,显示屏幕对应的光标应保持静止状态,但由于外部的影响(如荧光灯或外部光源亮度的变化)会令图像传感器阵列输出的图像值发生变化,如此后续的数据处理单元会认为是新的图像,从而进行正常的处理,从而会输出运动矢量,从而令显示屏幕上光标出现非使用者欲想的移动,造成使用的不便。
【发明内容】
本发明的目的在于提供一种光学指示装置异常状态侦测方法,用以解决现在当光学指示装置处理异常状态时依有运动矢量输出的问题。
为实现上述目的,实施本发明光学指示装置异常状态侦测方法应用于光学指示装置上,该光学指示装置设有一图像传感器阵列,该图像传感器阵列采样外部一帧图像并输出一与图像传感器阵列对应的像素矩阵,该方法包括如下步骤:
(1)取得行异常像素个数总和,即将每一行的每一个像素和其一侧相邻的M个列像素为一组,对此M+1个像素依次进行两两比较,如果此M+1个像素的像素值呈递增或递减,并且相邻像素的差值的绝对值大于一设定的阈值A,则称该像素为行异常像素,并将行异常像素计数器加1,反之则行异常像素计数器不增加,在该帧图像中求得行异常像素总和;
(2)取得列异常像素总和,即将每一列的每一个像素和其一侧相邻的M个行像素为一组,对此M+1个像素依次进行两两比较,如果此M+1个像素的像素值呈递增或递减,并且相邻像素的差值的绝对值大于一设定的阈值A,则称该像素为列异常像素,并将列异常像素计数器加1,反之则列异常像素计数器不增加,在该帧图像中求得列异常像素总和;
(3)若在一帧图像中行异常像素个数总和大于某一阈值B,或者行异常像素个数总和大于某一阈值C,或者列异常像素个数总和大于某一阈值B,或者列异常像素个数总和大于某一阈值C,或者行异常像素个数总和大于某一阈值D并且列异常像素个数总和大于某一阈值D,或者行异常像素个数总和小于某一阈值E并且列异常像素个数总和小于某一阈值E,则判断光学指示装置处于异常状态,即此时光学指示装置处于抬起或侧抬起状态,此时应清除图像传感器的运动矢量,以防止光标在屏幕上乱动。
与现有技术相比较,本发明通过计算行异常像素个数总和或/和列异常像素个数总和,并通过与预设的阈值相比较而判断该光学指示装置是否处于异常状态,此种方法计算量小,所需的资源不多,从而利于降低光学指示装置的功耗,并确认此光学指示装置的正常工作。
【附图说明】
图1为实施本发明的光学指示装置异常状态侦测方法的流程图。
【具体实施方式】
实施本发明的光学指示装置异常状态侦测方法,应用于光学指示装置上,该光学指示装置设有一图像传感器阵列,该图像传感器阵列采样外部一帧图像并输出一与图像传感器阵列对应的像素矩阵,该方法包括如下步骤:
(1)取得行异常像素个数总和,即将每一行的每一个像素和其一侧相邻的M个列像素为一组,对此M+1个像素依次进行两两比较,如果此M+1个像素的像素值呈递增或递减,并且相邻像素的差值的绝对值大于一设定的阈值A,则称该像素为行异常像素,并将行异常像素计数器加1,反之则行异常像素计数器不增加,在该帧图像中求得行异常像素总和。
假如以16*16的矩阵为例,先以第一行第1列的像素为基础,若此时M取为2,则取第一行第2列与第3列的像素,如果第一行第1列的像素值、第一行第2列的像素值、第一行第3列的像素值呈递增状态,并且第一行第2列的像素值大于第一行第1列的像素值,第一行第3列的像素值大于第一行第2列的像素值,并且第一行第2列与第一行第1列的像素值差值大于设定的阈值A,并且第一行第3列的像素值与第一行第2列的像素值的差值也大于设定的阈值A,如此认为第一行第1列的像素为行异常像素,并将行异常像素计数器加1。之后再以第一行第2列的像素为基础,选取第一行第3列的像素与第一行第4列的像素进行相同的比较,判断第一行第2列的像素是否为行异常像素,依次论推。如果相邻像素值呈递减状态,则判断其绝对值是否大于设定的阈值A,即为第一行第2列的像素值小于第一行第1列的像素值,而第一行第3列的像素值小于第一行第2列的像素值,即呈递减状态,如此比较二者的像素值差的绝对值,原理同上所述。当到第一行第14列像素时,则选取第一行第15列与第一行第16列像素进行判断第一行第14列像素是否为异常像素,之后便结束对第一行像素的判断,继续判断第二行的像素,如此需对16*14个像素进行判断,即对于N*N的矩阵则需对N*(N-M)个像素进行判断。
(2)取得列异常像素总和,即将每一列的每一个像素和其一侧相邻的M个行像素为一组,对此M+1个像素依次进行两两比较,如果此M+1个像素的像素值呈递增或递减,并且相邻像素的差值的绝对值大于一设定的阈值A,则称该像素为列异常像素,并将列异常像素计数器加1,反之则列异常像素计数器不增加,在该帧图像中求得列异常像素总和。
与上述计算行异常像素的方法相同,假如以16*16的矩阵为例,先取第一行第一列的像素为基础,若M取为2,则取第一列第2行与第一列第3行的像素,如果第一列第2行的像素值与第一列第3行的像素值呈递增状态,第一列第2行的像素值大于第一列第1行的像素值,第一列第3行的像素值大于第一列第2行的像素值,并且第一列第2行与第一列第1行的像素值差值大于设定的阈值A,并且第一列第3行的像素值与第一列第2行的像素值的差值也大于设定的阈值A,如此认为第一列第一行的像素为列异常像素,并将列异常像素计数器加1。之后再以第一列第2行的像素为基础,选取第一列第3行的像素与第一列第4行的像素进行相同的比较,判断第一列第2行的像素是否为列异常像素,依次论推。如果相邻像素值呈递减状态,则判断其绝对值是否大于设定的阈值A,即为第一列第2行的像素值小于第一列第1行的像素值,而第一列第3行的像素值小于第一列第2行的像素值,即呈递减状态,如此比较二者的像素值差的绝对值,原理同上所述。当到第一列第14行像素时,则选取第一列第15行与第一列第16行像素进行判断第一列第14行像素是否为列异常像素,之后便结束对第一列像素的判断,继续判断第二列的像素,如此需对16*14个像素进行判断,即对于N*N的矩阵则需对N*(N-M)个像素进行判断。
(3)若在一帧图像中行异常像素个数总和(即行异常像素计数器最后的累加值)大于某一阈值B,或者行异常像素个数总和大于某一阈值C,或者列异常像素个数总和(即列异常像素计数器最后的累加值)大于某一阈值B,或者列异常像素个数总和大于某一阈值C,或者行异常像素个数总和大于某一阈值D并且列异常像素个数总和大于某一阈值D,或者行异常像素个数总和小于某一阈值E并且列异常像素个数总和小于某一阈值E,则判断光学指示装置处于异常状态,即此时光学指示装置处于抬起或侧抬起状态,此时应清除图像传感器的运动矢量,以防止光标在屏幕上乱动。
在具体实施时,阈值A,阈值B,阈值C,阈值D与阈值E的值可根据实验等测量并调整,在本实施例中阈值A为3,阈值B为140,阈值C为10,阈值D为120,阈值E为5。
与现有技术相比较,本发明通过计算行异常像素个数总和或/和列异常像素个数总和,并通过与预设的阈值相比较而判断该光学指示装置是否处于异常状态,此种方法计算量小,所需的资源不多,从而利于降低光学指示装置的功耗,并确认此光学指示装置的正常工作。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。