鼠标,电脑的黄金搭档,使用时,鼠标可以将它的运动轨迹同步到电脑桌面,从而控制电脑的运行。那么,鼠标是如何将它的运动轨迹同步的呢?或者说,我们在移动鼠标时,它内部发生了什么?关于这个问题的答案,我们直接看下文~
现在的鼠标基本都是光电鼠标,其底部有图像采集系统,由红外LED、一对透镜和图像像素阵列(或图像传感器)组成,如下图1-1所示。
图1-1
正常工作时,LED产生的红外光穿过透镜,照亮鼠标正下方的表面(一般为鼠标垫),然后红外光从(鼠标垫)表面反射通过第二个透镜,然后通过一个小孔径,最后到达一个相当复杂的图像像素阵列(或图像传感器),如下图1-2所示。
图1-2
图像像素阵列由1600个像素组成,布局为40×40。一般而言,鼠标所接触的鼠标垫或表面会有一些图案或各种颜色,但鼠标不会捕捉这些颜色或图案。也就是说,即使你的鼠标垫表面五颜六色,鼠标也无法捕捉以及记录。那么,它捕捉的是什么呢?
鼠标红外LED发出的光线以较浅的角度发射,照亮了(鼠标垫)表面的纹理,如图1-3所示,这些纹理就像地形的山脊和山谷,山的顶部捕捉和反射光线并被照亮,但光线没有到达山谷,因此它们仍然是黑暗的。亮暗不同的光照强度被图像传感器捕捉,形成一张由1600个像素组成、布局为40×40的图像像素阵列。
图1-3
由于红外光的角度较浅且镜头聚焦,图像传感器能够捕捉到地形和纹理复杂的景观,注意,如果表面非常光滑且没有瑕疵,鼠标将难以在其上工作,这就是为什么某些鼠标在玻璃上无法正常工作的原因。
虽然,具有1600像素的图像传感器仅聚焦与鼠标正下方的一个微小区域,但图像传感器每秒最多可拍摄17000张表面照片!因此,即使你将鼠标在鼠标垫上移动仅0.1秒,图像传感器也会在此期间拍摄大约1700张照片,如下图1-4所示。
图1-4
鼠标不会保存任何这些图像,而是每次拍摄照片时,它都会将其与59微秒前拍摄的前一张照片进行比较,然后微芯片使用两个图像之间的差异来确定X(横向)的变化和Y(竖向)的变化,或者本质上是你在59微秒内移动鼠标的距离和方向。
如果我们有两张相隔59微秒的表面地形纹理图像,那么微芯片究竟如何确定它们之间X和Y的变化?
其实,为了计算这个X和Y的变化,两个间隔59微秒的图像被发送到鼠标的数字信号处理器或简称DSP的微芯片部分,在那里执行一种称为互相关的算法。如前所述,每个图像由40×40像素组成,每个像素生成一个介于0到4095之间的值,该值与撞击该特定像素的光照强度有关。
图1-5
这里我们用每个像素的高度来表示值,如图1-5所示。DSP获取第一幅图像并将第二幅图像叠加,然后从第一个图像中减去第二个图像的单个像素的所有值,并计算两个图像之间的差异,直到找到结果图像最小的位置。
达到最小结果图像的位置偏移量准确地告诉我们,鼠标在两幅相隔0.001秒的连续图像之间移动了多远,从而产生了X变化和Y变化,如图1-6所示。
图1-6
59微秒后,另一幅新的图像被捕捉,处理器执行相同的互相关算法。由于新图像四处移动,而前一图像静止,从而产生另一组值。处理器继续捕捉新图像并执行17次互相关算法,然后将所有值相加,我们得到鼠标在一毫秒内移动了多远,如下图1-7所示。
图1-7
一毫秒内X和Y的这种组合变化然后被发送到这里的片上系统,该系统又使USB收发器或蓝牙将信息中继到你的计算机。
综上,鼠标在移动时,会通过图像收集不断记录这个移动过程中鼠标垫表面的不同纹理,然后通过不同图像的不同纹理计算出鼠标的偏移量,进而将偏移量信息发送给电脑!
我终于知道,为什么我桌面那么光滑的时候鼠标那么不灵敏~你知道了吗?
转发是最大的鼓励!谢谢您的支持!
小贴士电工专属资料:含有从入门到高级的电工学习资料,167本电工电子书,经典电气PPT,历年电工考试真题、电工必备实训仿真软件、电气自动化行业各类型技术手册!
VB里的mousemove事件举例
这是鼠标移动时发生的事件,如:
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox "你点到我啦!"
End Sub
当鼠标移动到这个标签控件的时候,就弹出对话框
扩展资料:
鼠标事件是Visual Basic编程中最常用悉铅到的事件,多数控件都支冲陆洞持鼠标操作,因此对鼠 标事件进行编程是非常重要的。
鼠标事件主要有以下几种:
MouseDown:鼠标按下时发生的事件。
MouseUp:鼠标抬起时发生的事件。
MouseMove:鼠标移动时发生的事件,对某控件的此事件进行编程,则当鼠标移散枯过此控件时就会触发此事件,执行其相应代码。
参考资料来源:百度百科-VB事件
鼠标抖动是什么原因
有几种可能,1 重启电脑,有可能会好 2 驱动程序问题,安装鼠标自己的驱动程序3 可能和硬件加速设置有关,右键单击:我的电脑/属性/设备管理器,把硬件加速的滑动块向左移动。设置好最好重启电脑下