发明内容
本发明的目的就是解决拼接式多屏电子白板在投影屏幕重合处的书写问题,在投影屏幕对齐的前提下,实现画线不抖动,平滑连接。
为解决上述技术问题,本发明提供一种拼接式多屏交互电子白板系统的信号处理方法,其特征在于,包括以下步骤:
1)搜索设备,根据设备PID号,打开设备,并初始化设备参数;
2)使用信号发射装置进行准确的定位校准,通过用户区形成方法,获得大于投影屏幕的用户区,信号发射装置按下,产生信号Si,如果信号在屏幕内,则映射为屏幕坐标(Xi,Yi),响应鼠标按下事件;如果信号在屏幕外,则不响应鼠标事件;
3)信号发射装置继续移动,产生连续信号Si+m,如果信号在投影区域内,则映射为连续的(Xi+m,Yi+m)坐标,响应鼠标移动事件;如果信号在投影区域外、外围用户区内或者在用户区外,则取离开投影区域到外围用户区时的最后一个信号,映射为坐标(Xi+n,Yi+n),响应鼠标抬起事件后不再响应鼠标事件;
4)信号发射装置抬起,终止信号的发射,记为信号Sj,如果信号Sj在投影区域内,则映射为终止坐标(Xj,Yj),响应鼠标抬起事件,至此信号发射装置的操作结束;如果信号在投影区域外、外围用户区内或者在用户区外,则取从投影区域到用户区时的最后一个信号,映射为坐标(Xj,Yj),响应鼠标抬起事件后不再响应鼠标事件。
本发明所达到的有益效果:本发明引入了用户区的概念,在单个交互电子白板的投影区域边界外,设置一个稍大于该投影屏幕的用户区域边界。在投影屏幕内能接收特定的光信号,并能产生鼠标事件,而在外围用户区内能接收光信号,但是不响应鼠标事件。详细的处理方式是:信号发射装置从外围用户区划向屏幕内,没有识别到鼠标按下,不响应鼠标事件。信号发射装置在屏幕内按下向屏幕外划出,识别到鼠标按下,在鼠标移到外围用户区内时,识别鼠标抬起,这样就检测到了鼠标按下和抬起的动作,形成一个完整的鼠标事件。
由于用户区的存在,在多个投影屏幕拼接时,即使没有将屏幕完全对齐或者投影屏幕重合时,保证了用户区已经重合就可以使用电子白板。在此过程中,①对从投影区域内到整个投影区域外,响应边界处的鼠标抬起事件,②对从整个投影区域外到投影区域内,响应边界处的鼠标按下事件,③从一个设备投影区域到另一个设备投影区域,由于信号始终在用户区内,未到达屏幕外,因此不会响应鼠标抬起,从而实现了信号发射装置的跨屏书写,画线不断线。另外,借助精确的定位校准操作,就可以达到用信号发射装置操作时可无缝跨屏画线,平滑连接,点击准确的效果。
具体实施方式
下面结合附图对本发明做进一步的说明。
如图1所示,以双屏拼接为例,实线为两个投影屏幕,两屏幕边界拼接在一起,外围的虚线分别为两个投影屏幕外的用户区区域,用户区重合,阴影部分即为重合的用户区。外围虚线与实线之间的区域为外围用户区。
在单个交互电子白板的投影区域边界外,设置一个大于该投影屏幕的区域边界,该边界在上位机软件启动和定位完成后,会被映射为CMOS区域并下传到设备,保存在FPGA的RAM中,FPGA只处理该区域内的光信号,忽略区域外的光信号,把这个稍大于屏幕的区域称为用户区,把在这个放大的区域内和屏幕区域外的部分称为外围用户区。
交互电子白板光笔的事件处理方法:
1)投影屏幕内的光笔信号,当光笔被按下时,对应鼠标按下,当光笔移动时对应鼠标的拖动或移动,当光笔抬起时对应鼠标的抬起;
2)跨投影屏幕边界的光笔信号,当从屏幕内划向外围用户区时,虽然设备能识别到外围用户区的光信号,但因为出了屏幕,应该抛弃外围用户区的数据,并在离开屏幕的位置响应鼠标抬起,以完成完整操作,当从外围用户区划向屏幕内时,在进入屏幕的位置响应鼠标按下。
本发明采用的方案是:
1)搜索设备,根据设备PID号,打开设备,并初始化设备参数;
2)使用信号发射装置进行准确的定位校准,通过用户区算法(电子白板设备生成用户区算法发明专利),获得大于投影屏幕的用户区,信号发射装置按下,产生信号Si,如果信号在屏幕内,则映射为屏幕坐标(Xi,Yi),响应鼠标按下事件;如果信号在屏幕外,则不响应鼠标事件;
3)信号发射装置继续移动,产生连续信号Si+m,如果信号在投影区域内,则映射为连续的(Xi+m,Yi+m)坐标,响应鼠标移动事件;如果信号在投影区域外、外围用户区内或者在用户区外,则取离开投影区域到外围用户区时的最后一个信号,映射为坐标(Xi+n,Yi+n),响应鼠标抬起事件后不再响应鼠标事件;
4)信号发射装置抬起,终止信号的发射,记为信号Sj,如果信号Sj在投影区域内,则映射为终止坐标(Xj,Yj),响应鼠标抬起事件,至此信号发射装置的操作结束;如果信号在投影区域外、外围用户区内或者在用户区外,则取从投影区域到用户区时的最后一个信号,映射为坐标(Xj,Yj),响应鼠标抬起事件后不再响应鼠标事件。
信号发射装置是指光电笔、光电教鞭,其包括一红外发光管、一开关模块和一电源模块。
电子白板设备检测干扰光、生成干扰光区域并计算得到用户区的过程,过程发生在软件启动和定位时,具体的处理过程如下:
1、软件启动时用户区处理过程:
(1)上位机软件从单片机中读取存储区中存储的定位点,根据定位点信息,计算CMOS与PC屏幕的映射关系。
(2)上位机软件发送检测干扰光的命令,由FPGA驱动CMOS进行图像采集,当采集到光信号时,证明有干扰光;
(3)FPGA按照行扫描的方式,记录光斑的起点和终点,把存在干扰光的行号及起点终点,顺序的上传;
(4)上位机按照约定的协议解析上传的数据,重现光斑(如图4的实际的干扰光区域2);
(5)实现重现后,要确定光斑形状,于是要找出其外圈的轮廓。对轮廓上的每个像素点进行放大,即按半径画方形(如图4的边界放大操作区域3),最后对放大后的图形进行描边,寻找外轮廓(如图4的最终得到的放大的干扰光包络1),暂且先记录这个包络。
(6)得到投影屏幕四角组成的四边形,对该四边形进行缩放操作;
(7)根据第(1)步中得到的映射关系,把放大的四边形反映射到CMOS中,并对映射得到的区域(如图3的边框线4)边界像素点进行放大(如图5的CMOS边界放大操作区域5),寻找外轮廓(如图5的放大的CMOS用户区6),从而得到对应的CMOS区域;
(8)根据第(2)步中的判断,如果没有干扰光,则进行下一步,如果有干扰光,则从(7)步中得到的CMOS区域抠除步骤(5)中得到的干扰光包络;
(9)上位机按照行扫描的方式,记录步骤(8)得到的用户区的起点和终点,把计算得到的区域的行号及起点终点下传给FPGA,FPGA把该区域存储下来,并用这个区域对CMOS取景内的光信号进行判断。
2.定位时用户区处理过程:
(1)上位机软件发送检测干扰光的命令,由FPGA驱动CMOS进行图像采集,当采集到光信号时,证明有干扰光;
(2)FPGA按照行扫描的方式,记录光斑的起点和终点,把存在干扰光的行号及起点终点,顺序的上传;
(3)上位机按照约定的协议解析上传的数据,重现光斑;
(4)实现重现后,要确定光斑形状,于是要找出其外圈的轮廓。对轮廓上的每个像素点进行放大,即按半径画方形,最后对放大后的图形进行描边,寻找外轮廓,暂且先记录这个包络。
(5)上位机软件进入定位校准,根据定位校准后得到的定位点信息,计算CMOS与PC屏幕的映射关系。
(6)得到投影屏幕四角组成的四边形,对该四边形进行缩放操作;
(7)根据第(5)步中得到的映射关系,把放大的四边形反映射到CMOS中,并对映射得到的区域边界像素点进行放大,寻找外轮廓,从而得到对应的CMOS区域;
(8)根据第(1)步中的判断,如果没有干扰光,则进行下一步,如果有干扰光,则从(7)步中得到的CMOS区域抠除步骤(4)中得到的干扰光包络;
(9)上位机按照行扫描的方式,记录步骤(8)得到的用户区的起点和终点,把计算得到的区域的行号及起点终点下传给FPGA,FPGA把该区域存储下来,并用这个区域对CMOS取景内的光信号进行判断。
以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡采用等同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。