USB摄像头范文(精选7篇)
USB摄像头 第1篇
视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。近年来,随着计算机技术、网络技术以及图像处理、传输技术的飞速发展,视频监控技术也有了长足的发展。
1.视频监控技术的发展
随着网络通信、数字视频、多媒体技术的发展,视频监控技术已由传统的模拟走向了数字化、网络化、智能化。由于数字信号具有抗干扰能力强、失真小、传输不受距离限制等优点,因此各种数字视频技术得到了迅速的发展。传统的安全防范系统已逐步向以图像处理为核心的、融合了网络、传感、通信技术的数字视频监控系统过渡。
监控系统的发展经历了第一代的全模拟系统,到第二代部分数字化的系统,再到第三代完全数字化的系统(网络摄像机和视频服务器)三个阶段的发展演变,现在正在向第四代全IP时代前进。
2. USB摄像头视频监控系统的应用领域
由于USB摄像头价格便宜且安装方便,其用户的安装和使用不需要特别复杂的技术水平,因而可以节省大笔的费用。它的即插即用、价格便宜等特点尤其适用于对资金投入不高的家庭用户。对于使用摄像头较多的网吧、学校机房也可以为其在提供基本的安全保障的同时并节省成本。
二系统功能
本系统可以在服务器端通过摄像头获取图像信息,在客户端可以查看网络传输来的图像信息,可以对此拍照、录像、录像回放、动态监控。
功能模块:在服务器端通过摄像头获取图像信息,并且进行网络数据传输。在客户端主要是获取网络数据流,并且实现拍照、录像等功能。
三运行流程
1. TCP/IP协议简介
TCP/IP是供已连接因特网的计算机进行通信的通信协议。
TCP/IP指传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)。
TCP/IP定义了电子设备(如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。
TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。在私网中,它也被用做通信协议。当你直接网络连接时,你的计算机应提供了一个TCP/IP程序的副本,此时接收你所发送的信息的计算机也应有一个TCP/IP程序的副本。
TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确到达目的地。网络上的网关计算机根据信息的地址进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。TCP/IP使用客户端/服务器模式进行通信。TCP/IP通信是点对点的,即通信是网络中的一台主机与另一台主机之间。
2.服务器端数据传送
服务器端首先读取摄像头的视频信息,然后图像信息转换为数据流。等待客户端的连接,等连接后往客户端传输数据。
3.客户端数据接收
客户端接收来自服务器端传输来的网络流,然后把这些网络流重组成图像信息显示在空间PICTUREBOX中。
四图像处理
第一,快照模块。实际上就是把PICTUREBOX中的图像保存为文件形式。
第二,录像模块。录像功能主要是如何将PICTUREBOX中的图片转换为AVI或者其他录像格式,调用了VFW的Tiger.Video.VFW.dll文件很方便地实现了此项功能。在dll文件主要有aviread和aviwriter两个函数,主要是avi和BMP之间的互相转换,这个程序主要用到aviwriter当中的addframe方法是往视频文件中写信息,Open方法是打开压缩方式对话框。
第三,回放模块。回放功能是用了VS2005当中的Windows media控件来实现的。
第四,动态监测模块。动态监测顾名思义就是在有物品运动的时候自动进行拍照、录像、报警等。实现动监的基本思想是:在一定的时间间隔内获取两幅图片,对两幅图片进行对比,如果图片相同则没有动作,如果不同,则进行录像。
五测试运行情况
任何一个系统的正确运行都是建立在多次测试基础上的,只有经过多次测试才可以发现系统存在的不足或逻辑错误。
具体测试内容如下:(1)输入错误的IP地址。不能连接服务器。(2)服务器端未开启。客户端不能连接,并且出现相应提示。(3)客户端或服务器意外断开连接。当一方断开连接时另一方出现提示,并且可以恢复连接。(4)录像,快照功能。对于此功能不停地对视频进行录像和拍照未出现错误。(5)动监模块。点击动态监测按钮,不同晃动摄像头和在摄像头静止的情况下查看保存的图片信息,功能正常。
六结论
在整个设计工作中主要的工作有:(1)服务器和客户端的网络数据传输。(2)客户端的数据重组,录像功能,快照功能,回放功能,动态监控功能。本系统主要运用了视频捕捉、VFW、AVICap编程、视频文件格式、网络传输协议TCP/IP等很多知识。通过USB摄像头在服务器获取到视频图像信息,然后再在客户端接收网络传输来的数据流,在客户端实现了录像、快照、回放、动态监控的功能。
摘要:整个系统主要由客户端和服务器端两个应用程序构成。服务器端可以通过USB口的摄像头采集视频数据, 客户端通过网络接收服务器传出的实时帧数据, 然后从帧中取出图像数据。本文首先对视频监控领域做了总述, 然后介绍监视系统的系统结构、各个模块组成和功能及其运行的流程, 最后介绍软件的运行和操作方法。
关键词:局域网监视系统,视频捕捉,TCP/IP,数据传输
参考文献
[1]阮林波、曹锦云.基于USB摄像头的自动监控系统[J].计算机工程与设计, 2004 (6)
USB摄像头 第2篇
摄像头插在笔记本上面能用的话,说明摄像头本身是没有问题的,
那插在USBHUB上不能用的问题很大可能是供电的问题造成的。
USB摄像头 第3篇
随着计算机技术的快速发展和普及, 利用现代化设备代替这类的纯机械式劳动已经成为不可扭转的趋势。如诞生于20世纪60年代的光标阅读机OMR (optical mark reader) , 然而, 由于其是采用光机电技术中的反射阅读技术原理设计, 因而它对答题卡上的信息点位置及大小要求极高, 填涂规范性也高, 除此之外, 它还有使用成本高, 容易卡机, 功能单一的缺点。自动化扫描阅卷系统[1]也已研制出来, 教师可以自行设计试卷, 用普通的纸张打印, 通过扫描到计算机中利用软件进行识别就可以自动阅卷了。
大学物理实验老师由于经费有限, 不可能买一套市面上出售的扫描阅卷系统回来, 且所用的答题卡格式较为固定, 与学校使用的实验报告纸格式相差甚远, 操作起来比较繁琐。因此本文将探讨是否可以利用成本低廉的设备和自己设计的特定的实验报告纸进行数字图像的识别以及成绩录入工作。
1 系统功能实现
1.1 实验报告模板的设计
考虑到教师都有一份存有所带班级全部学生信息的Excel表格, 里面有学生的学院, 班级, 学号, 姓名等信息, 使用其中具有简单性、唯一性的学号信息就可以完成本系统的成绩录入功能了。设计的实验报告模板如图1所示, 其中识别区域为黑框所围部分, 利用0到9这10个数字做成小方格, 学生和教师只要用黑色签字笔在相应的方格里做上记号就可以了, 无论是“”、“”还是别的记号, 都可以通过本系统识别出来。
1.2 实验报告图片的获取
通过USB摄像头拍摄学生的实验报告, 截图后再复制粘贴到picture控件中。利用电脑配备的USB摄像头进行视频控制时需要用到两个API函数:cap Create Capture Window和Send Message。其中, cap Create Capture Window是用来创建一个视频窗口, 通过USB摄像头捕捉到的图像就显示在此窗口内, 函数的返回值代表窗口的句柄。窗口创建完毕后, 就需要用Send Message向它发送信息, 进而控制摄像窗口。
1.3 图片数据的扫描
要获得视频窗口捕捉到的实验报告图片的各像素点的颜色值, 使用的是“Get Pixel”函数, 该函数的声明如下[3]:
Declare Function Get Pixel Lib"gdi32" (By Val hdc As Long, By Val x As Long, By Val y As Long) As Long
其中hdc是设备环境句柄, x和y为对象中某个像素的位置坐标, 此函数返回值为长整形。
此外还需要对每点的RGB色彩值进行分离, 分别得到R, G和B的值。
1.4 图像的二值化
由于拍摄条件和外界光线的影响, 所得到的图片不像扫描仪中那么黑白分明, 因此, 需要对图像进行二值化处理, 具体分为两个过程:一将三原色转换为灰度;二将灰度转换为RGB。为了使识别目标更明确, 受到的干扰更少, 设计识别区域时将黑框内的所有方格和提示字的颜色都设置为25%灰度值[4,5], 这样一来, 学生和教师能看到小方格, 拍摄后又可以通过阈值分割法设置一个阈值把这些小方格以及光照信息抹除, 只留下学生和教师的填涂信息以供识别。
图2是将实验报告图像二值化的前后对比图, 处理后的图像只有黑白两种颜色, 实际拍摄时, 识别框内由于光线原因, 处理后仍会有一些干扰点, 但这并不影响识别, 因为本系统是通过比较各个小区域中含有像素点的个数多少来确定结果的, 干扰点像素聚集个数少, 一般不影响比较结果。
1.5 信息识别
二值化后, 首先要确定的是识别区域的坐标信息。首先要检测出左侧这条粗直线, 选择某一行图形进行分析, 检测到连续的两个黑点就停下, 记录此时的i值, 再继续检测到连续的两个白点, 也记录下此时的i值, 两个i值的差就是这条粗直线的宽度了, 只需再确认这条短横线的上下区域所含的黑色像素点的个数是否足够构成一条粗直线, 就可以完全确定已检测到识别框。
有了识别框的坐标, 就可以计算各个小方格的区域坐标, 表格中每一列画了10个小格, 分别是数字0-9, 每一行有14列有用信息格, 左右边界的距离差除以17就可以得到每一小格的宽度m, 上下边界的距离差除以11就可以得到每一小格的高度n, 然后循环检测每个小格的像素个数, 纵向比较像素个数最多的那个小格对应的数字就是所需要的信息。
1.6 成绩录入
事先建立一个Excel文件, 里面存放所有学生的基本信息。首先要确定表格中有效行, 这样便于控制下面将要进行的比对工作的行范围。这里, 要对第一列的学号进行检索, 如有连续的三格为空白, 则检索停止, 记录下有效行数j。再将之前图像识别所得到的学生学号与表格中的学号进行比对, 找到相同的学号后比对停止, 系统将识别所得实验序号若记为x, 则成绩录入到此行第 (2x+2) 列, 操作成绩录入到 (2x+3) 列加上2, 这样就完成了成绩的录入工作。
期末结束后, 教师可以通过成绩汇总按钮进行成绩的处理, 按下成绩汇总按钮后, 会弹出一个提示框, 教师可根据实际情况输入一个n值作为本学期所做实验的次数, 在这之前教师要自行将免做的实验和假期冲掉的实验所对应的成绩设置为-99, 最后将每行所有不等于-99的成绩全部相加求平均就得到大学物理实验报告的期末成绩了, 再将这个成绩放在每行的第三个单元格就完成了实验报告成绩的合成工作。
1.7 容错处理
当拍摄图片二值化后有时会出现较大误差, 如识别框粗直线不够直, 线内有一些白色点等, 所以系统应该具有一定的纠错能力。如在识别粗直线时, 不要求这条线上所有点都是黑点, 只要有70%以上就可以确定此处存在一条粗直线, 而不是任意的干扰记号。
对框中的信息进行识别, 通过比较哪个格子含有的像素点数最多来确定所选数字, 这样如果格子中有污点, 甚至是不经意划下的线条, 也不会影响最终结果。
1.8 校验
录入成绩时, 如果识别的学号在表格中不存在, 或者同一学生出现两次相同实验项目的成绩, 就说明识别出错了。针对这两种情况, 系统设计了相应的解决措施:一、若识别的学号不存在, 可能是实验报告的摆放过于倾斜, 这时教师可以选择重新摆放实验报告, 或者直接在Textbox中输入正确信息进行录入;二、若出现相同的信息, 则弹出相应提示框, 提醒教师与哪位同学的哪份实验重合, 请进行人工核对。
2 小结
本文对如何自动录入学生的实验报告成绩展开了研究, 在Visual Basic环境下成功实现了对实验报告图像的处理与识别, 该系统的实现为今后开发更多实际应用 (如教学系统中学生签到、仪器设备管理系统、商品销售系统等) 进行了重要的技术储备, 为它们提供了一个很好的输入接口, 可进行二次开发, 硬件要求低, 具有便宜高效的特点。
参考文献
[1]宋峥峥.自动化扫描阅卷系统的研究与实现[D].北京:华北电力大学, 2008.
[2]吴柏雄.摄像头阅卷系统关键技术的分析与应用[J].计算机系统应用, 2010, 19 (2) :147-151.
[3]苏瑞, 韩中孝.Visual Basic开发实用编程200例[M].北京:中国铁道出版社, 2006:221-223.
[4]杨青燕, 彭延军.基于灰度图像的答题卡识别技术[J].山东科技大学学报:自然科学版, 2009, 28 (3) :99-102
USB摄像头 第4篇
近年来,随着科技的不断快速发展,精细、智能化农业生产技术成为农业机械化研究的热点[1],基于机器视觉技术的农田智能机械开发是各科研院所的主要研究方向。国内从20世纪90年代开始利用机器视觉技术进行水果的分级研究,近年来在农田视觉应用方面的研究也很广泛,如自动导航、杂草识别、病害判别及变量喷雾等。但目前还没有走出实验室的成型产品,其主要原因是视觉系统高成本且适应性差,只适用于科学研究,无法在田间农业生产上进行推广应用。
USB摄像头由于价格低、功耗小、与计算机连接方便等特点[2],目前已在工业、交通、医疗等行业有了广泛的应用,但在田间中的应用依然处于空白。为此,本文以廉价的USB摄像头作为图像采集单元,代替专业的视觉系统,从降低视觉系统的成本出发,对田间实时图像采集系统进行研究。
1 成像质量的主要影响因素
田间图像的成像质量直接影响到后续处理的效果及整体系统的成功率。成像质量的主要影响因素包括地面的不平度、光源、帧率、曝光时间、摄像头高度和倾角、行驶速度等。普通USB摄像头相对于专业的摄像设备,其曝光时间固定、拍摄时间不可调。因此,摄像头的帧率、光源、行驶速度这3个因素之间的相互作用尤为明显。
1.1 摄像头的帧率
摄像头帧率是指在1s时间内传输图片的数量,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps表示。对于普通的USB摄像头,帧率高的较帧率低的曝光时间短,但帧率在150fps以上的摄像头要求设备接口的传输速率要高于通用USB2.0,常用的一般为30、60帧,少数120帧。本文从通用性出发,在田间动态采集中,从摄像头拍摄的视频流里每隔一定的时间抓取一张图片,为了保证抓取的图片质量清晰。传输稳定,摄像头的帧率选择以上3种进行对比试验。
1.2 光源、行驶速度
在机器视觉系统中,光照、行驶速度是影响整个图像采集过程的关键因素,直接关系到图像质量的好坏。光源分为自然光源和人工光源两种[3]。光照强度的强弱和摄像头快门曝光时间、行进速度有很大的关联。由于普通USB摄像头的快门速度不可调、曝光时间固定,当光照过强时,摄像头感光元件充电时间短、行进速度慢会导致图像过亮;过弱时,充电时间长、行进速度快,摄像头拍摄的图像过暗或拖尾模糊,而使图像质量变差。因此,合理的摄像头帧率、光源、行驶速度三维组合是田间图像采集的关键。
2 试验材料与方法
2.1 试验材料
本实验在温室大棚里进行,采集图像对象为白菜秧苗。采用的笔记本电脑配置为:主频2.6GHzCPU,Intel酷睿i5 3230M处理器、4G内存、1T硬盘、2GB显存。选用常用3种USB摄像头,分别是30帧(蓝色妖姬m2200)、60帧(谷客HD91S)、120帧(蓝色S8精钢);光源选用自然光照为正常、强(下午13:30左右)、弱(下午16:30左右);为了方便控制试验小车的行驶速度,选用速度可调的电瓶小车。
2.2 软件设计
图像采集、处理软件系统都是基于Microsoft公司的VC++6.0基础上使用MFC类库研发的,主要使用DirectShow开发包的自定义类CCaptureVideo来完成视频数据流的显示、读取[2,4]。为验证方法的可行性,对采集到的图像进行了实时灰度化及图像分割处理。
2.2.1 摄像头初始化程序设计
利用DirectShow开发包中的类库以及CCapture Video类来完成对摄像头的初始化工作,并使之在软件界面输出视频流。以下是初始化的部分VC代码:
2.2.2 单帧图像捕捉程序设计
获取单帧图像即是从视频流中捕捉某一帧图像存储到内存中或者物理存储设备上,利用实现的IsampleGrabberCB类的虚函数BufferCB来具体实现对单帧图像的捕捉[5]。以下是获取单帧图像并存至指定磁盘目录的部分重要VC代码:
2.2.3 软件的应用
应用程序界面分为预览区和控制单元,如图1所示。当程序启动以后,首先选定目标摄像头,点击加载按钮来实现初始化摄像头并将摄像头的视频流输出到上方的预览区;然后在控制单元区设置捕捉帧间隔时间和是否需要存储图片等设置,单击开始拍照按钮来定时捕捉单帧图像。
2.3 试验方法及试验指标
试验在温室大棚进行。将3种不同帧率的摄像头分别安装在可调速的电瓶车上,拍摄幅面为单行单株范围,利用C语言编程,在不同的行驶速度、光源条件下进行图像采集与实时处理,并进行保存。
采用USB摄像头作为图像采集单元的最终目标,是寻求一个最优组合,确保采集的图像质量。图像质量评价从方法上可分为主观评价法和客观评价法两种。图像质量的主观评价方法的优点是能够真实地反映图像的直观质量,评价结果可靠,无技术障碍;客观评价法具有耗时少及试验重复次数少等优点[6]。本试验的图片是在田间动态实时采集的,无原图进行参考比较,且客观评价法往往不适合不同图像之间清晰度的横向比较。因此,本文采用主观评价法,国际上已有成熟的主观评价技术和国际标准,如多媒体应用的主观评价方法,电视图像的主观评价方法。主观质量评分法又可以分为绝对评价和相对评价两种类型,其绝对评价是将图像直接按照视觉感受分级评分。表1列出了国际上规定的5级绝对尺度,包括质量尺度和妨碍尺度。对一般人来讲,多采用质量尺度;对专业人员来讲,则多采用妨碍尺度[7]。本文采用绝对评价尺度的方法。
评价的结果可用一定数量的观察者给出的平均分数求得。平均分数为
其中,Yi为图像属于第i类的分数;Ni为判定该图像属于第i类的观察者人数。为了保证图像主观评价在统计上有意义,参加评分的观察者至少应有20名,其中包括一般观察者和专业人员。
3 试验设计
3.1 试验安排及结果
试验考察因素为光源、摄像头的帧率、行驶速度。为了后续图像处理时方便,摄像头的倾角设置为使其光轴垂直地面,通过对比试验确定摄像头的高度为100cm,摄像头的帧率选择30、60、120帧,电瓶小车行驶速度选择0.75、1.25、1.75m/s,光源选择光照强度等级为强、正常、弱,形成三因素三水平表(如表2所示),采用正交设计方法安排试验[8]。为了避免人为主观因素造成的误差,本文对每组试验采集到的图像随机选择20张,选择20名观察者进行评分(包括一般观察者和专业人员),求出这20张图像的Y值,并用此平均值作为最终图像质量的评定指标,结果如表3所示。
3.2 试验因素对图像评价指标影响分析
3种试验因素对图像评价指标的影响如图2所示。由图2可以看出:摄像头帧率从30变到60、再到120的过程中,当帧率为60时图像质量最好。行驶速度对图像质量也有一定影响:在一定范围内,随着速度增加,图像质量效果也增加;到达一定值时,随着速度增加,图像质量效果降低。光照强度的强弱在不同程度上对图像质量也有一定的影响:当光照由强变正常时,图像质量效果逐渐增加;当光照由正常变弱时,图像质量效果降低。
3.3 试验结果分析
图3~图5分别是随机抽取的30、60、120帧摄像头采集的图像及实时处理的结果。由图3~图5中可以看出:在相同条件下,30帧/s的摄像头采集的图像轮廓较为模糊,有噪点;60帧/s的摄像头采集的图像清晰自然,无噪点现象;120帧/s的摄像头采集的图像处理后层次清晰度较差,有时拍出来的效果有散晕现象,图像不如60帧产品拍得清晰。
从表3可以看出:影响图像质量的主次顺序为摄像头帧率、行驶速度、光照强度;通过表3还可以得出最优组合为:A2B1C2,即光照正常、摄像头帧率为60帧、行驶速度为1.25m/s(4.5km/h)。由于此组合在实验设计的组合中,只需要再进行试验验证,验证结果如图6所示。
通过图6(a)的质量评价和图6(b)的分割结果,可以得出本试验选出的最优组合能满足田间动态实时采集的要求。
4 结论
1)通过基于C语言的采集处理程序,可以实现田间作物图像的动态提取,且能满足田间作业实时快速的要求,从采集到实现植物与土壤背景的分割只需要35ms。
2)从表2可以看出:空列即误差对试验有一定的影响,主要是考虑地面的不平度,易使小车突然产生一个加速度,导致摄像头发生抖动,从而造成图像质量下降。
3)普通USB摄像头作为田间图像采集单元,大大降低了成本且操作简单。对试验选出的最优组合(帧率60,行驶速度1.25m/s,光照正常)在实验大棚里进行了采集与试验,效果良好。本文把USB摄像头的应用引入田间,为后续的开发提供了基础和便利。
摘要:高成本是制约机器视觉系统在农田中推广应用的重要因素。为此,通过对农田视觉系统的分析,提出了采用普通的USB摄像头代替专用视觉系统作为田间图像采集单元,基于C语言自行开发程序控制摄像头完成图像的采集与处理的方案。试验表明:此方法操作简单、成本低廉,采集、处理一幅640×480的实时图像耗时3 5 ms以内,能有效地满足田间作业的实时性,为农田智能机械的成品化开发提供了新的思路。
关键词:农田,图像采集,USB摄像头,C语言程序
参考文献
[1]胡炼,罗锡文,曾山,等.基于机器视觉的株间机械除草装置的作物识别与定位方法[J].农业工程学报,2013,29(10):12-18.
[2]阮林波,曹锦云.基于USB摄像头的自动监控系统[J].计算机工程与设计,2004,25(6):988-989,995.
[3]陈丽君,赵凤芹.基于机器视觉的变量机械系统的关键技术[J].农机化研究,2005(6):21-23.
[4]周可,王桦,李春花.云存储技术及其应用[J].中兴通讯技术,2010(4):24-27.
[5]王光兴,李洪祚.基于DSP帧曝光图像采集系统[J].长春工业大学学报:自然科学版,2014,35(2):167-171.
[6]蒋刚毅,黄大江.图像质量评价方法研究进展[J].电子与信息学报,2010,32(1):219-226.
[7]刘书琴,毋立芳.图像质量评价综述[J].中国科技论文在线,2010,32(1):501-506,523.
USB摄像头 第5篇
1 系统总体设计
1.1 系统总体架构
系统建立以S3C2410核心板为中心的硬件平台,内置CPU、RAM和Flash[1],外接LCD显示器、USB摄像头等外围设备;移植嵌入式Linux操作系统到硬件平台并安装QT图形库和必要的驱动程序,为系统运行提供软件环境。系统的总体架构如图1所示,其中清晰地展示了数据的加工流程。
系统所选用的USB摄像头基于ZC301芯片,该摄像头采用片内JPEG压缩技术;设备驱动后通过V4L(Video for Linux)接口对其操作,可以直接从摄像头读取JPEG格式的数据[2]。通过开发QT用户图形界面来完成JPEG图像的显示。音频接口选用UDA1341芯片,可外接话筒和扬声器;设备驱动后通过OSS(Open Sound System)编程接口对其进行操作,可以从UDA1341芯片读取或写入PCM编码数据[3]。文件录制模块把音视频信息录制为通用的AVI文件并存储在外接U盘中。
1.2 系统总体流程
为了提高系统的运行效率,设计了两个线程来实现此模块的功能:一个为音视频采集线程,一个为播放/录制线程。采集线程启动后首先打开音视频设备,设置相关参数后不断采集音视频信息写入共享缓冲区;播放/录制线程在完成相关设备初始化后进入循环,根据需要从共享缓冲区读取音视频信息进行播放或录制。两个线程通过Linux提供的线程函数实现对音视频缓冲区的互斥访问,其协作流程如图2所示。
2 音视频采集
2.1 视频采集
V4L是开源社区的领袖人物Alan Cox为Linux设计的一套规范,其目的是为Linux下的视频设备驱动的编写提供统一的接口[20]。V4L的主要接口函数包括:open()、read()、write()、close()和ioctl(),分别用于打开、读取、写入、关闭和控制视频设备。其中ioctl()接口能够实现对摄像头的多种控制,通过控制参数来区分,表1列出了一些常用的控制常量。
表1 ioctl()中使用的部分控制常量
ZC301芯片采用片内JPEG压缩技术,即利用V4L编程接口采集出的数据是就压缩后的JPEG文件,能够拍摄最大分辨率640480的照片(本系统采用320240的分辨率)。为了方便对视频设备的操作,程序中专门定义了一个名为V4LDevice的结构体,同时定义一个全局变量vd。结构体的定义如下:
V4L编程的一般过程为:打开视频设备、读取当前参数、设置相关参数、读取或循环读取视频数据、对视频数据进行相关处理、关闭视频设备。按照对视频设备的操作顺序,首先打开视频设备并完成相关设置,下面给出主要代码:
在上述代码中分别通过控制常量VIDIOCSPICT和VIDIOCSWIN完成图片样式和大小的设置。摄像头设置完成后线程就会不断循环采集图像到缓冲区,下面给出循环体中采集图像的相关代码:
摄像头每次采集的图像数据大小不尽相同,但根据JPEG的文件结束标志为“0x FFD9”可以获得图像数据的实际大小。采集完成后需要将视频数据互斥地写入全局缓冲区,这里用到多线程函数pthread_mutex_trylock()和pthread_mutex_unlock()完成对缓冲区的加锁和解锁。
2.2 音频采集的实现
OSS(Open Sound System)是最早出现在Linux上的音频编程接口,它由一套完整的内核驱动程序模块组成,可以为绝大多数声卡提供统一的编程接口[21]。Mixer(混音器)和DSP(数据信号处理器)为OSS标准中的两个基本音频设备。Mixer设备的驱动接口相对简单,除了open()和release()外,主要使用ioctl()方法实现对输入/输出音量的控制。DSP设备所提供的驱动接口主要有open()、ioctl()、read()、write()、close()、release()。
与视频采集类似,程序中定义了名为Dsp Device的结构体用于音频设备操作,同时定义全局变量dd。该结构体中除了包括设备的文件描述符、设备相关参数、音频缓冲区等信息外,还定义了一个变量flag_display用于标记当前音频数据是否被播放过。由于音频的一帧表示一个时段,如果出现播放重复则会严重影响声音的质量,而通过标记flag_display可以避免这种情况。兼顾声音质量和节省存储空间,我们在设备初始化时将量化位数设为8位,声道类型选择双声道,采样速率设为8000Hz。音频采集的方式与视频类似,下面列出循环体中音频采集的主要代码:
3 音视频播放
3.1 视频播放的实现
Qt是一个跨平台的C++图形用户界面应用程序框架,起初由挪威Troll Tech公司开发,后来由诺基亚公司收购。QT类似于Windows平台下的MFC或ATL等,可用于实现图形界面、网络通信、线程控制、文件操作等等[4]。
视频播放本质上就是要将图像显示在服务器端的LCD上,这需要借助QT的图形界面来完成。由于Qt的最新版本对硬件条件要求较高,本系统选用Qt的早期版本2.3进行图形界面的开发。摄像头采集是JPEG格式的图像,而本系统所选用的Qt版本并不直接支持JPEG格式图像,所以首先要安装JPEG库使QT支持JPEG格式[5]。具体绘制图像的功能是通过QT中的QPixel和QPainer类来完成,下面给出绘制图像的关键代码:
3.2 音频播放的实现
由于系统所选用的UDA1341音频芯片同时支持音频的采集与播放,本地音频播放同样采用此设备完成。与音频采集相对应,使用写(write)操作完成音频播放,而采集则是读(read)操作。下面给出本地音频播放的主要代码:
在上述代码中对flag_display的判断是为了避免对同一音频数据进行重复播放,播放完成当前数据后,应将其状态设为已播放。
4 AVI文件的录制
AVI(Audio Video Interleaved)是一种将音视频同步组合的文件格式,它符合RIFF(Resource Interchange File Format)规范[6]。一个AVI文件通常包含两个不同类型的媒体流:一个音频流和一个视频流,不过含有单一音频流或单一视频流的AVI文件也是合法的。由于AVI文件的内部结构比较复杂,这里不再详述[7]。
文件录制与视频播放在同一个线程内完成,当用户选择录制功能后,系统则在外接U盘中创建AVI文件,然后不断从音视频缓冲区读取数据写入文件;为了方便对录制文件的管理,系统规定了每个AVI文件的大小为100M,当文件超过100M时则新创建一个文件继续录制。
AVI文件由文件头、数据块和索引块三部分组成。文件头中除了包括编码类型、图像大小、声道类型、采样率等静态信息之外,还包含了的文件长度、播放时间、帧率等动态信息,这些信息必须在AVI文件录制完毕后才能全部获得,虽然它是文件的开始部分却应最后写入;数据块是AVI的主体部分,包含若干音频帧和视频帧,在录制过程中不断增加;索引块是可选的,保存了每一帧数据在文件中的位置以加速对文件的读取,本系统保留了这一域。
由于AVI文件录制的实现过程比较复杂,所涉及的代码较多,整个录制过程主要由以下四个功能函数来实现:new_AVI_file()函数完成创建AVI文件的创建和初始化工作;AVI_write_frame()函数用来写入视频数据;AVI_write_audio()函数用来写入音频数据;close_AVI_file()函数在生成完整的AVI文件后将其关闭并释放相关资源。图3给出本地录制在程序中的实现框架。
5 结束语
该系统综合运用多种嵌入式技术,实现了音视频采集、音视频播放和AVI文件录制等功能,达到了预期的设计目标。系统所涉及的关系技术在本文中都进行了详细介绍,这对相似系统的开发具有很好的借鉴价值。
参考文献
[1]博创科技.UP-NETARM2410-S(Linux)嵌入式系统实验指导书[EB/OL].[2008-09-12].http://www.up-tech.com.
[2]Alan Cox.Video4Linux Programming[EB/OL].alan@redhat.com.2002.
[3]程虹霞,朱珠,吴小强,等.Linux下语音实时通信的一种实现方法[J].兵工自动化,2010(3):94-97.
[4]倪继利.QT及Linux操作系统窗口设计[M].北京:电子工业出版社,2006.
[5]Daniel Molkentin.The Book of Qt 4:The Art of Building Qt Applications[M].No Starch Press,2007.
[6]除殿武.AVI文件格式及其应用研究[J].现代电子技术,2008(2):119-122.
USB摄像头 第6篇
(1)开发板Linux内核版本:2.6.28;
(2)开发板编译器版本:arm-linux-gcc 4.3.1;
(3)宿主机Linux版本:Fedora 9;
(4)USB摄像头通用驱动程序:spca5xx;
(5)插入USB摄像头,在终端窗口运行如下命令:#lsusb
在系统中摄像头识别如下:
这是系统识别出三个测试摄像头的基本信息。ID指的是生产厂商编号,后面是摄像头型号及厂商名称。了解这些信息对摄像头的进一步应用有帮助。
2 程序实现
2.1 了解Video4Linux应用程序API定义
在Linux系统中的linux蛐videodev.h文件定义了针对视频设备的相关信息及I蛐O接口操作函数,这是进行程序开发的基本依据。实际编程中,视频设备同样是以设备文件存在的,可以像访问普通文件一样对其进行读写操作。
2.2 打开USB摄像头设备
其中fd是返回的打开设备的文件号。
2.3 获取及设置USB摄像头的图像属性
在videodevice.h文件中,以结构体的形式定义并封装了摄像头的图像属性信息,如饱和度、亮度、对比度等,如下所示:
由结构体的定义可以看出,不同种类的摄像头其CMOS传感器不同,所以采集到的图像格式也不相同。首先要确定所使用的摄像头采集图像的格式,可以采用如下方法:
执行ioctl(fd,VIDIOCGPICT,&pict)函数读取pict->palette值(只读)并采用循环的形式与预定义值进行比对以确定摄像头的图像格式信息。例如所测试的三个摄像头的图像格式分别是Syntek-VIDEO_PALETTE_RGB565、Avea-VIDEO_PALETTE_YUYV、Z-star-VIDEO_PALETTE_JPEG。图像深度属性pictdepth指的是每像素比特数,是计算图像字节长度的基础。如表1所示。
根据实际需要可以对图像属性进行设置以调整亮度、对比度、饱和度等,即对结构体成员赋值然后执行函数ioctl(vd->fd,VIDIOCSPICT,&pict)即可。
2.4 获取USB摄像头图像采集能力信息
USB摄像头图像采集能力信息由结构体video_capability封装:
执行函数ioctl(fd,VIDIOCGCAP,&videocap)获取相关信息,尤其是最大及最小摄像区域。
2.5 获取及设置图像采集区域
图像采集区域由video_window结构体进行封装。
依据自身实际需要填充并设置图像大小:
Struct video_window videowin;
调用函数ioctl(fd,VIDIOCGWIN,&videowin)获取图像采集区域信息,调用函数ioctl(fd,VIDIOCSWIN,&videowin)设置图像采集区域信息。要注意不能超过图像采集能力的限制。
2.6 计算图像帧的字节数并分配图像缓冲区
USB摄像头每帧图像的字节数由其图像格式确定。即帧图像字节数=图像宽度图像高度每像素字节数。
每像素字节数可由表1推导得出。如VIDEO_PALETT E_RGB565的每像素字节数为2,VIDEO_PALETTE_RGB24的每像素字节数为3。然后分配图像缓冲区如下:
Unsigned char觹pFramebuffer;
pFramebuffer=(unsigned char觹)realloc(pFramebuffer,图像帧字节数);
2.7 读取图像数据
摄像头采集到的图像数据获取有两种方式:直接读取方式和内存映射方式。直接读取方式的优点是实现简单;内存映射方式的优点是效率高,如果采用双缓冲等方法可以获得极高的实时性。本文介绍直接读取方式的实现:
int len=read(fd,p Framebuffer,图像帧字节数);/觹len为实际读取的字节数觹/
使用完USB摄像头设备后一定不要忘记调用函数close(fd)关闭该设备。
2.8 图像格式转换
采集到图像数据以后,根据不同的目的,需要将图像数据转换成相应的格式。如进行数字图像的模式识别,可能需要二值化处理;如进行图像的网络传输,则需将图像转换成JPEG图片以提高效率。在此以RGB565和YUYV两种格式的图像数据转换成JPEG图片为例介绍其一般思路和方法。在Linux系统中进行图像数据转换需要使用转换工具包,jpegsrv-v6b.tar.gz软件包,这个工具的下载及安装说明皆可在网上获得。需要注意的是其支持RGB24格式转换成JPEG格式,所以只能先将RGB565和YUYV两种格式转换成RGB24格式进而再转换成JPEG格式。
2.8.1 RGB565格式转换成RGB24格式
RGB是红绿蓝三原色的意思,RGB565指的是Red、Green、Blue三个颜色分量的值分别是5bit、6bit、5bit,所以每像素两个字节。可采用如下程序进行转换:
2.8.2 YUYV格式转换成RGB24格式
YUYV格式属于YUV颜色系统,Y代表亮度信号,色度信号是由两个互相独立的信号组成,以U和V表示。其工作原理是每4点Y采样,就有2点U和2点V。在这种格式中,色度信号的扫描线数量和亮度信号一样多,但是每条扫描线上的色度采样点数却只有亮度信号的一半。当4:2:2信号被解码的时候,“缺失”的色度采样,通常由一定的内插补点算法通过它两侧的色度信息运算补充,所以每像素一个字节。其图像数据的存储格式如表2所示。
可采用如下程序进行转换:
2.8.3 RGB24格式转换成JPEG格式
限于篇幅的原因,请读者自行参考该工具包的解压缩文件。其中有一个example.c文件详细说明了RGB24与JPEG格式相互转换所需的程序模板,既有步骤的详细说明解释,也有代码实现,读者参考该文件很快就可以编写出转换函数。
3 结束语
基于Video4Linux应用程序接口,并利用通用USB摄像头驱动程序在Linux环境下进行数字图像采集的应用程序开发方法,有助于加深理解Linux操作系统及其设备驱动的一般形式,充分利用手头现有资源进而根据自身实际需要合理选择USB摄像头型号以利于科研及生产开发。
参考文献
[1]田泽.ARM9嵌入式开发试验与实践.北京:北京航空航天大学出版社,2006.
[2]熊茂华.ARM9嵌入式系统设计与开发应用.北京:清华大学出版社,2008.
[3]宋宝华.Linux设备驱动开发详解.北京:人民邮电出版社,20-08.
USB摄像头 第7篇
在多媒体教学普及的过程中,普遍存在如何引进现代化教学设备和老师们的课堂教学习惯有机结合的问题。目前老师们在做教学演示的过程中,往往需要守在计算机旁边,一边操作计算机一边进行讲解,需要重点强调的地方,还要不时地站起身来,指指点点,本来提供方便的多媒体演示设备,却把老师们丰富的课堂语言都束缚了。为了解决这个问题,本文设计并实现了一个基于USB摄像头的激光笔辅助教学系统,以便让老师可以通过激光笔在远处同计算机系统进行交互。
基于USB摄像头的激光笔辅助教学系统的实现原理是:首先通过USB摄像头拍摄到投影屏,并在USB摄像头捕捉到的图中检测到激光点的位置信息,然后通过跟踪来分析和识别激光点的轨迹,同时通过激光笔上的按键信息来共同实现激光笔与远程计算机的交互。在激光点的检测方法中,用到了不同的线索,如激光点的运动特征和模式特征[1,2]以及颜色特征[3]等。由于激光点的区域较小,模式特征不是很明显,易于受到噪声的干扰,而激光点的颜色特征在不同的使用环境中可以有比较大的变化,因此单纯使用颜色特征也不是很好的办法。文献[4]提出将激光点的颜色特征、运动信息和形状特征这几种线索融合起来进行激光点的检测,准确率确实得到了一定的提升,但是仍然存在漏检和误判的情况。本系统通过滤光片的使用,基本排除了噪声的干扰,使系统准确率得到大大的提升。CN101251784号专利公开了一种激光笔指示与光点轨迹识别方法[5],利用亮度信息从显示屏图像提取红色激光点,亮点识别原理与本文一致,但是由于使用的是固定枪式摄像头,安装调试不方便。文献[6]通过改变硬件方法实现点击功能,在普通激光笔上增加按键,接收器根据按钮发射频段的不同判断操作类型,做了很好的尝试,但是使用起来效果比较单一。文献[7,8,9]分别使用了不同方法来实现激光笔的互动,但都比较单一,不够完善。而对于激光点的行为描述上,文献[10]提到的激光笔互动系统使用起来非常复杂,而本文提到的系统专门制作了适用于激光点行为的硬件自制激光笔,使得基于USB摄像头的辅助教学系统使用起来更为方便。
1 系统综述
基于USB摄像头的激光笔辅助教学系统主要为在智能自然教学空间中授课的教师提供一种辅助工具,帮助他们在课程讲义上进行各种指示动作或轨迹绘制,以及远距离进行各种操作,从而使教学过程更生动,教师的行动更自由。为完成提供交互式教学场景的任务,系统的总体设计遵循方便、实用、效率的原则,使教师和学生都感到自然,使“黑板”具有更多特色。
基于USB摄像头的激光笔辅助教学系统由图像分析模块、屏幕显示模块及激光笔无线通信模块组成,其整体结构如图1所示。
教师通过激光笔这一交互工具,在显示屏幕上留下光点,通过红光滤光片及USB摄像头获取显示屏幕的信息,这样的视频信息送至授课主机,它通过亮点识别算法获取视频图像每一帧中的光点位置,通过坐标变换将亮点位置变换为自身的屏幕坐标位置,并进行轨迹绘制,放大镜操作或鼠标操作,结果通过投影或VGA线缆连接在显示屏幕上展示出来。除此之外,激光笔本身和授课主机通过无线网络连接,利用笔上的按钮控制整个系统的启动和中止,以及轨迹绘制,放大镜操作和鼠标操作之间的功能切换。系统逻辑流程如图2所示。
2 系统实现
2.1 图像采集
由于基于USB摄像头的激光笔辅助教学系统涉及到图像处理领域,摄像头采集到的图像的质量好坏直接关系到整个系统的实现效果,因此本系统的图像采集必须满足两个条件:(1)为了使亮点识别更为可靠,采集到的图像分辨率为640480,格式为RGB24;(2)为了使屏幕显示模块绘制轨迹连续,对亮点识别的实时性要求会比较高,至少得达到24fps。
目前生产的大部分USB摄像头都是WDM设备,使用比较陈旧的VFW方法采集的话存在许多弊端,比如采集速率非常低下,而Directshow使用WDM Capture Filter支持WDM卡,而使用另外一个VFW Capture Filter支持VFW卡。因此本系统采用Directshow采集方案。
图3描述了整个directshow采集USB摄像头的流程。首先从USB摄像头捕捉图像,然后通过AVI解码器得到我们需要捕捉的图像,接着进行采集并读取到图像分析模块中。
2.2 激光点检测方法
在激光点的检测方法中,一般依靠颜色特征、运动信息和形状特征这三种线索进行检测。一般来说,由于环境光照的影响以及激光点的模式特征不是很明显,分别用着三种线索进行检索的话,误检率和漏检率都比较高,即使是按文献[4]中提到的将这三种线索进行融合后,正确检测率也只有93%,而且实现也比较麻烦。考虑到市面上使用的激光点的波长为650nm,并且亮度很高,因此使用合适波长范围的带通干涉滤光片将周围环境不在波长通带范围内的光滤除可以大大增强激光点与环境的对比度,从而更加容易检测到激光点,并且可以大大提高识别精度和效率。
图4是不同型号的带通滤光片在同一教室环境下的激光点效果图,图4(a)的滤光效果非常明显,图4(b)还不能将激光点与背景区分开来。通过这两幅图比较说明,当滤光片通带达到一定范围的时候可以有很好的检测效果,可以很容易通过对图像像素点R通道值的大小来检测激光亮点,而且实验结果表明这种检测方法受周围环境光强的影响很小,有比较强的普适性。
亮点识别采用的算法为逐行扫描、隔行合并的算法,如图5所示。
2.3 屏幕校准方法
由于USB摄像头所采集到的图像信息中无法准确地只包含显示屏幕的信息而不含其他成分,且显示屏幕在视频图像中往往不是规则的四边形而是带有较小曲率的类似四边形,因此需要进行屏幕校准步骤,使图像信息中的坐标转换为显示屏幕对应的坐标。这种转换采用最小二乘法,公式如下:
其中,(XII,YII)T为转换后坐标,(XI,YI)T为转换前坐标,根据误差方程v=Ax-l,其中:l=(XII,YII)T-(XI,YI)T-AX0,X0为转换参数初值,则最小二乘法求解得到的转换参数的估计值为:
x=(ATPA)-1-ATPl=A+l,其中A+为A的广义逆,P为权矩阵,一般取P为单位矩阵。
本系统中的这种转换,需要的定位位置在系统启动时加以获取,并将转换矩阵固定,这样对每个坐标值的转换可在常数时间内完成。
2.4 激光笔硬件设计
为了更好地配合整个系统的运行,专门设计并制作了配套的激光笔,使得基于USB摄像头的激光笔辅助教学系统使用起来更为方便。
图6为硬件电路的整体,分为激光笔发射端和接收端两个部分。激光笔的功能部分包括6个按键和激光头,其中有一个按键指定用于控制激光头;按键信息经过编码后发射。接收端接收按键信息后解码,再转换成串行数据与PC进行通信。
图7为根据硬件电路原理图制作的激光笔发射端和接收端的硬件电路,通过发射端和接收端的应用,可以比较灵敏地实现整个系统的功能逻辑。
2.5 功能逻辑
目前根据智能教室的需求,我们定义并实现了如下三种功能模式:
(1) 绘图模式使用激光笔在屏幕上描绘,屏幕上出现对应的轨迹,同时可以通过激光笔上的按键实现幻灯片的上下翻页及擦除屏幕轨迹的操作。
(2) 鼠标模式 使用激光笔在屏幕上指示位置,屏幕上的鼠标发生移动,并可通过激光笔上的按键实现鼠标操作。
(3) 放大镜模式 使用激光笔在屏幕上指示位置,屏幕上对应的区域会进行局部放大,并且屏幕上的放大区域会随着光点发生移动。
由于激光笔发射端的按键比较丰富,因此能够比较方便且灵敏地实现上述三种功能模式以及他们之间的切换。
3 实验结果
基于USB摄像头的激光笔辅助教学系统已作为智能教室中智能人机交互的一部分在运行,并且即将做成相关产品出售。该系统运行于DELL Pentium 4,2.8GHz的CPU,1G内存和Windows XP上,系统美妙能处理25帧图像。
3.1 激光点检测效果
通过在不同背景条件下,使用者手持激光笔的位置,以及视频采集设备配置的不同,来评估算法的实际运行效率。
经过一些测试,获得了如表1所示的结果。
表1中的准确率以肉眼为判断依据,因此当亮点提取成功后,即使精确定位不准确,只要偏差不大就仍可认为属于合理范围内并极为准确。
比较编号1和2,或者5和6,发现使用者指示时所处的位置几乎不影响结果,激光点的指示性非常好。
比较1、2和3、4,发现摄像头的帧率非常接近算法的计算速度。由于常见摄像头的帧率上限大致为25fps,而在这个速度下使用激光笔作指示操作,获得的有效亮点数约为每秒20个,这是个高于肉眼区分速率的值。当系统运行在更好的计算机条件下,配置为Intel Core2 双核2.66GHz的CPU,2G内存和Windows XP系统,发现查全率完全能达到100%,即每秒有效光点数能达到25个。从肉眼来看,区分不出这种差别,这两种配置下,激光笔都能很流畅地在屏幕上进行绘图操作。
比较1、2、3、4和5、6,发现背景屏幕的大小将影响到有效点的判断,这是容易理解的,因为更大的屏幕将导致图像区域也变得更大,而算法的时间复杂度关于图像大小事线性的,因此相同时间内,可以获得的有效点数将随着图像的变大而减小。表中有效点数的减小并未按图像大小线性发展,这是由于在10.8大小的测试屏上测试时,采集到的图像中,目标屏幕以外的部分较大,而22大小的屏幕上测试时,该部分相对小得多。
3.2 激光笔功能测试
基于USB摄像头的激光笔辅助教学系统的功能测试效果如图8所示。
从图8中可以看出激光笔完全实现了预先设定的功能逻辑,在实际使用中能大大方便智能教室的教学,提高教学质量。
4 结 语
激光笔辅助教学具有如下有益效果:能够丰富教学环境,提供给教师一种更新的教学模式,可使教师的教学工作更连贯和自由;在其它环境中,通过远程指示特性,各种人机交互设备可被修改为远程指示性设备,避免人力直接接触屏幕,提高设备的可靠性。我们使用USB摄像头这一额外设备,成本相对较低,而对显示设备则没有过多要求,只需要使用激光笔能在设备上留下光点即可,不会对显示设备产生额外的耗损,另外所使用的激光笔在成本上和各种手写笔相差无几,统计下来总体成本还不到触摸式设备的十分之一。同时使用USB摄像头不仅仅使采集成本降低到一百元左右,也使这一系统具备了即插即用特性,从而使得这套系统不仅仅局限于教室这一场景,大大提高了这套系统的实用性。未来的工作是将摄像头和计算亮点的算法模块单独做成一个独立的嵌入式模块,降低用户端机器的负载。
摘要:实现一个利用激光笔与投影仪大屏幕进行互动的辅助教学系统。首先,通过USB摄像头检测激光亮点在屏幕上的位置。然后,通过计算机上的相应算法实现无线鼠标的功能,激光点轨迹的绘制,放大屏幕上的重要区域,清屏以及幻灯片的上下翻页功能。专门为这套辅助教学系统设计的激光笔使得教师在课堂里实现这种互动更为灵敏和连续。
关键词:远程人机交互,激光笔互动,亮点识别,轨迹绘制
参考文献
[1]Kristein C,Muller H.Interaction with a projection screen using a cam-era-tarcked laser pointer[C]//Multimedia Modeling Proceedings.Lau-sanne,Switzerland;IEEE Computer Society1,998:191-192.
[2]Kristein C.A System for human-computer interaction with a projectionscreen using a camera-tracked laser pointer[R].Technical Report,In-formatik VII,University of Dortmund,German,1998:686.
[3]Eckert R R,Moore J A.The classroom of the 21st century:The inter-action learning wall[J].Special Interest Group-Computer Human In-teraction Bulletin,2000,23(2):33-40.
[4]刘芳,林学誾,史元春.基于激光笔的远程人机交互技术[J].中国图象图形学报,2003,11(8):1356-1360.
[5]陈刚,鲁晨平,申瑞民.激光笔指示与光点轨迹识别方法:中国,101251784A[P].2008-08-27.
[6]Duncan Cavens,Florian Vogt,Sindney Fels,et al.Interacting with thebig screen:pointers to ponder[C]//Minneapolis,Minnesota,USA:ACM SIGCHI’02 Conference on Human Factors in Computing Sys-tems,2002:678-679.
[7]Shizuke B,Hisamatsu T,Takahashi,S,et al.Laser pointer interactiontechniques using peripheral areas of screens[C]//Proceedings of theworking conference on Advanced visual interfaces(AVI’06),Venezia,Italy,2006:95-98.
[8]Bandisch P,Cutrell E,Hinckley K,et al.Mouse ether:accelerating theacquisition of targets across multi-monitor displays[C]//Proc.ofCHI’04,ACM Press,2004:1379-1382.
[9]Hinckley K,Ramos G,Guimbretiere F,et al.Stitching:pen gesturesthat span multiple displays[C]//Proc of AVI’04,ACM Press,2004:23-32.