原创 自动跟踪摄像机设计(图)

2008-4-17 20:28 5424 10 10 分类: MCU/ 嵌入式

前言... 1<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


正文... 1


 


前言


       在安防、视频会议等应用场合,常常需要能自动跟踪的摄像机。本文则对这种应用提供一种简单易行的解决方案。本方案也适用于家庭安防监控。


 


关键词:单片机、电机正反转、摄像头编程、EasyUSB模块、图像动态侦测


 


正文


       首先定义自动跟踪,即在初始监控的场景里,如果有目标移动,摄像机就会跟随者移动目标转动(最大转角359度),以保证不丢失真正的监控目标。


 


       简要的原理就是:将摄像机的监控画面分割成若干小块,然后做动态侦测,根据监控目标所在小块的位置,作出是否调整摄像机方向、以及调整多少的决定。单片机根据这个决定,来控制小云台上电机的转向和转动幅度。


 


       这个方案可以分为两部分:一是PC端的软件侦测和硬件接口。二是摄像机下云台控制电路。示意图如下:


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


点击看大图家庭监控DIY使用时,摄像机可以采用100元一只的USB摄像头;云台就用一个直流马达加一个正反转控制的电路即可。


 


方案再细化,可分为如下部分:


摄像机+马达控制电路+PC接口电路+PC软件。下面逐个解决。


 


摄像机:市场上去买。


PC软件:赛先生科技(www.schoolboy.com.cn)免费提供。


马达控制电路:首先看直流小马达的正反转控制,原理如下:



点击看大图此电路经过赛先生验证为正确可行,其中四个二极管是用来保护电机的,也可省略。下来,就只需要两个I/O口来控制电机正反转了,当然,这个电机需要有减速装置(实在没有,可以试一试I/O给一个PWM试一试,这个只是建议,我没有试过。)给出两个I/O,大家肯定会首先想到单片机。这个单片机程序就非常简单了,只要给以上电路的“正转”或“反转”一个高电平,就会按照你要的方向转动,两个I/O都是低电平时,马达停止;注意,杜绝两个I/O都是高电平(还好,上图中有保护的电路)。


最后看PC接口:有两种选择,一是串口,二是USB口。


对于串口:大家很亲切,熟悉。缺点是:电机控制端需要外接电源,需要单片机及其开发工具等。


对于USB口:我们就使用EasyUSB模块,在本人做的DIY例子中,也是这个。因为它不需要单片机,不需要外接电源,而且,应用它时,只需要在PC应用程序里调用两个函数。一个负责I/O输出,一个负责I/O输入,就能控制12以上的I/O


 


PC端免费软件的介绍:


它将监控屏幕分为6个竖条形区域,从左到右分别定义为1~6。每隔0.1秒钟,它就进行一次动态侦测,并输出当前运动幅度最大的一个区域的索引号。


软件分为串口型和USB型。串口型就将区域索引号送入串口。


USB型,有个Demo,即以EasyUSB模块为基础做的Demo软件(同时提供二次开发包),即,你想要看到自动跟踪摄像机系统的工作效果,所有要做的就是:准备一个USB摄像头+EasyUSB模块+下载该Demo软件。先插入两个USB设备、后运行Demo软件后,你在摄像头面前走动,EasyUSB模块上的灯就会跟随着你走的方向而点亮(用其中六个灯来分别代表监控区域中6个小区域)。


界面如下图:



afea6ec1-85f5-44c3-b13b-822e26ed498a.JPG 


 


程序下载地址:Demo


本程序可以使用USB型的摄像头,也可以使用枪式CCD摄像机接入的采集卡。源代码请联系作者-赛先生


视频下载1屏幕录像


视频下载2实物录像


 


赛先生科技(www.schoolboy.com.cn) 原创,引用本文需要保持原文、注明出处


      


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条