基于STM32的便携式搭载激光键盘的激光笔设计与实现

``

方海生李忠志费禹潇郭继峰

摘要:随着教育高速发展,教学演示越来越普遍,但是普通的激光笔已经远远不能满足需要,为了让使用者在教学、演示时最大限度的发挥肢体语言的优势,彻底解决以往在课堂和会议上使用鼠标的不便,研究一种搭载便携式激光键盘的激光笔设计是有必要的。文章对传统几何失真校正算法进行研究,提出一种不同角度的的校正算法,并以此构建一套实验装置,实验表明效果良好。

关键词:激光笔;激光键盘;失真校正;STM32

中图分类号:TP399文献标志码:A文章编号:006-8228(208)03-27-04

DsdrlztflsrpdSTM32prtbllsrybrd

FHsh,LZhzh,FYux,GuJf

(NrthstFrstryUvrstyCllfIfrtdCputrEr,Hrb,Hl50000,Ch)

Abstrt:Wththrpddvlptfdut,thdstrtsrdr,butthrdrylsrptrsfrfrtthdsIrdrtltthusrxzthdvtsfbdyluhlthdprst,thvfusthuststudylsrptrthprtbllsrybrddssssryIthsppr,thtrdtltrdstrtrrtlrthsstudd,ddffrtlrrtlrthsprpsddths,stfxprtlpprtussstrutd,dthxprtshsthtthfftsd

Kyrds:lsrp;lsrybrd;dstrtrrt;STM32

0引言

目前投影機在教育、培训、商务展示行业遭遇了“应用危机”,问题是在多媒体教学普及的过程中,普遍存在如何引进现代化教学设备和老师们的课堂教学习惯有机结合的问题。基于这种情况,研究一款便携式搭载激光键盘的激光笔的设想成为一种可能。本项目将激光键盘进一步改进,提出一种新的几何失真校正算法,并利用无线传输功能将其在STM32处理器为核心的硬件系统上进行设计和实现。

总体设计与硬件实现

总体设计

根据以上需求特点,本设计的硬件平台选择STM32F03芯片作为核心处理器搭建的硬件电路。软件平台则选择编写控制芯片的下位机固件程序与PC机进行通信和共享。教学激光笔的系统总体结构包括:开发板部分(STM32F03开发板),接口电路部分(IIC接口电路),电源模块。总体设计框图如图所示。

图总体设计框图

2硬件设计

参考论文[5],在芯片选型上,考虑到图像处理算法的使用及较大的数据计算任务,选用以Crtx-M3作为内核的STM32F03芯片作为核心处理器,选用OV7670型号的CMOS芯片的摄像头模块采集图片信息通过SCCB传输协议将拍摄的图像传至处理器,由图像处理算法计算出坐标值,利用NRF24L0无线收发芯片模块[4]将坐标信息传送至另一端无线模块,数据再经由有线串口传输到PC端。具体实现无线键盘坐标信息的数据传输,硬件模块结构如图2所示。

图2硬件结构图

2算法设计与分析

2算法思路及描述

本文提出的失真是指摄像头与拍摄目标成一定角度的倾斜,因此在拍摄时产生失真,导致在实际图像拍摄和坐标与键盘映射上都存在一定的困难,而激光键盘较为重要的一点就是能准确地将拍摄的图像与实际键盘进行映射,为此基于三角测距原理[3]提出了一种几何失真算法的新思路以消除失真所带来的负面影响。摄像头以一定的倾斜角放置在高度为h的位置。此时摄像头所拍摄的图像头将会呈现一定的透视失真。具体位置摆放如图3所示。

图3摄像头摆放位置

如图3所示,摄像头以一定高度侧拍键盘,采集到的图像是一个不规则的四边形,(设置摄像头竖直投影在水平面的点和虚拟键盘的长边中点连线刚好和长边垂直),基于这种情况,本文提出了一种新的校正算法。键盘的成像图像是一个梯形,这里,将会得到一个等腰梯形,但是本文的方法是从成像原理方面去进行还原和坐标转换,所以此校正方法也适用于其他类似的情况。

2纵坐标方向校正方法

首先建立坐标系;将整个键盘的图片全部放在第一象限,以图像键盘的左下角建立二维平面直角坐标x轴和y轴。

纵坐标方向上,摄像头拍摄图像时沿x轴方向的y方向的切面图如图4所示。

图4沿X轴方向切面图

如图4所示摄像头拍摄的是一个弧面,但是为了便于计算,将其近似看成一个平面。在图3中,图像中y方向的值是y=CN弧面,这里将CN弧面长度近似等于CN弦长度,即y=CN弦。为了求到y'(真实的y方向的值),从A做角CAN的角平分线,从C点做AM的垂线与AM交于M点,交AD于N点。在这里有一个细节是y=CN大小的值,因为这里是用图像的像素大小作为最小单位,所以对应的y和y'之间就存在一个倍数,其关系为式⑴:

P为摄像头在水平面的投影点到键盘的最远距离,就是以投影点为原点的画圆和键盘的相交的最大的一个半径。q为图像所能达到的最大的像素距离,这里取640,利用勾股定理得出:

在等腰三角形ACN中,中线、角平分线和垂线重合易得出:

最终得出式⑻:

22横坐标方向上的校正方法

摄像头拍摄键盘时,沿y轴方向上的x轴的横切面与上面的纵坐标求法类似,如图5所示。

图5沿X轴方向切面图

根据图5所示,作角BAC的角平分线交BC于点D,过C点作CN垂直于AD于点M,交AB于N点。将CN弦近似等于CN弧;图中的x轴方向的值就是图中CN弧,近似看作CN弦,但是由于倍率问题,同纵坐标相同,横坐标也具有倍数。其中:

注:以上两图是一个空间图形的不同方向的切面。

利用三角形的边和边的比值做放大,因为随着纵坐标的增加,AC的距离不断增加,对应的CM弧也将不断增大,所以需要同比例给CM放大。

放大后的x即CN弦为:

由勾股定理

所以可以得出真实的BC:

22代码实现(伪代码)

22x轴方向上的校正

dubltx(dublh,dubll,dublty,dublx){

dublz,;

x*=;/*x第一次放大,像素比例放大*/

z=sqrt(h*h+ty*ty);/*x轴方向的图中AC的长度*/

x*=z/sqrt(h*h+l*l);/*x第二次放大,对比y轴放大*/

=s(x/2/z);

*=2;

rturz*s();

}

222y軸方向上的校正

dublty(dublh,dubll,dubly){

dublz,;

y*=;/*y第一次放大,像素比例放大*/

z=sqrt(h*h+l*l);/*x轴方向的图中AC长度*/

=s(y/2/z);/角CAM大小*/

=*2+s(l/z);

rturh*t();

}

3软件系统设计与实验验证[2]

本系统的核心是软件上的数据处理,为了能够实现手指键入动作的判定,软件分为可分为以下几个部分,分步骤实现。其中图6是软件工作流程图,图7是功能实物图。

[激光键盘投影][采集图像][目标处理与识别][目标确认][坐标系映射][按键功能传入][执行功能][是否继续][结束采集][否][是][是][否]

图6软件工作流程图

图7显示结果及接收芯片的工作图

4结束语

在装置实施方面,本文给出了一个完整的实施方案,构造出一个实际的装置,基本达到最初的要求。算法方面,本文提出一种从物理的模型结构角度的校正算法,而张金《一种基于虚拟键盘图像坐标变换的几何失真校正方法》[]一文也提出一种从图像的几何失真去不断趋近的算法,相比来看,本文提出的算法效率会更高一点。下一步研究,我们可以提高激光笔和激光键盘的相容性,加强装置对于环境的自适性。在文化普及程度很高的今天,教学演示工具的发展是必然趋势,本文研究的带有激光键盘的激光笔在这个领域会有很好的市场前景。

参考文献(Rfrs):

[]张金,成媛媛,李洋,刘晓威一种基于虚拟键盘图像坐标变换

的几何失真校正方法[J]计算机应用与软件,20229(6):84

[2]李振伟基于图像处理的半虚拟键盘的研究[D]华南理工大

学硕士学位论文,203

[3]李淑玉,吕争基于机器视觉虚拟激光键盘的设计[J]宁波职

业技术学院学报,2059(6):79

[4]王恒,王中训,杜思良,胡小赫基于ARM9的USB摄像头图

像采集压缩及无线传输[J]器件与应用,2035(3):29

[5]蔡睿研激光虚拟键盘的设计与实现[J]激光与红外,

20242(8):875

文章来源于:计算机时代