电子鹰眼PDA监控系统详细设计说明书.docx
《电子鹰眼PDA监控系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《电子鹰眼PDA监控系统详细设计说明书.docx(12页珍藏版)》请在冰豆网上搜索。
电子鹰眼PDA监控系统详细设计说明书
保密级别:
机密
电子鹰眼PDA监控系统
详细设计说明书
修改记录表
序号
版本
修改日期
修改内容描述
修改人
1
总体设计
电子鹰眼PDA监控系统
详细设计说明书
1引言
编写目的
论述系统的整体架构与详细的设计,为程序员编程提供指导和依据.
背景
随着科技的进步,PDA此刻已经悄然走入人们的生活,从而带来了嵌入式系统的开发烧潮,与此同时各类PDA上的应用程序也随之诞生很多,人们想利用PDA做更多的情形.例如PDA上也有QQ的谈天工具,PDA电子词典,PDA上的搜索引擎等等.
咱们注意到,现代社会平安和隐私愈来愈重要了,随着个人或集体的信息愈来愈多,人们加倍关切平安问题了..例如银行一样都有摄像头实时监控.本系统也是在如此一个背景下面产生.假想用PDA来实时查看远程摄像头实时监控的地址,或许能对被监控地域的平安提供必然的保证.
.概念
无
参考资料
<嵌入系统同开发指南>
2整体设计
需求概述
(1)功能性需求
本系统取名为”电子鹰眼PDA监控系统”.其要紧的功能性需求如下:
1.摄像头能实时抓拍图像.
2.能将摄像头抓取的图片以bmp格式保留
3.能调整摄像头的分辨率,比如一样摄像头缺省情形下截取的图片大小是320*240的.用户能够依照自己的需要更改分辨率,以取得不同大小的图片.
4.用户能依照视频的质量的好坏,调整亮度,饱和度,灰度,等参数
5.用户能选择不同的视频源
6.用户在PDA上,利用无线上网,能够取得远程摄像头截取的当前的图片,并显示出来
7.用户能够随时获取当前摄像头所监控地址状况的图像形式,并显示出来
8.用户能够在PDA上选择要获取图片的大小,显示那么依照相应的大小来执行,固然不能超过PDA最大的显示范围
(2)非功能性需求
1.PDA上要完整显示摄像头截取的图片.
2.PDA能够实时地显示当前摄像头抓取的图片
3.PDA发出请求到图像的显示时刻不能超过10S
(3)硬件,网络需求描述
本系统需要摄像头一个,30万象素以上
装有windows2000或windows-xp操作系统的PC机械一台,负责与摄像头连接.
装有以上版本的PDA一台
网络条件:
PDA所在地址能无线上网,带宽1M/S以上.
软件结构
模块描述
1.摄像头模块
本系统采纳传统的C/S结构,Server端负责实时显示视频流,而且要同意Client(PDA)端的抓图请求,截取Bitmap类型的图片而且保留在Server端,与摄像头操作和抓拍图像的操作专门作为一个模块来开发,咱们称之为PickHead项目.由于该项目作为整个系统的子项目,而且咱们在MS.NET下开发,因此咱们将该子项目最终开发成动态链接库,以方便重用.
2.参数调整模块
考虑到PDA显示屏的大小,加上PickHead缺省抓图的大小是320*240,
为此咱们又开发了一个简单的库:
负责处置Server端对图像分辨率的调整,和相关参数,例如饱和度,光泽,亮度,对照度,色调,白平稳的参数调整.同时具有对捕捉元的选择功能.(处置有多个摄像头驱动程序的情形).
3.Socket效劳端模块,Server端的主程序,负责与Client端的通信
采纳异步通信模式,Server端有个线程Tcplistener一直负责侦听Client的连接效劳请求,当有连接请求到来时,Server端同意请求,两边成立连接,而后client端发送”OK”消息,效劳端收到消息后解析,确认是”OK”后执行以下步骤:
A.挪用中的voidGrabImage(StringImagePath)函数,将抓取的图片保留到ImagePath指定的途径
B.将抓取的bmp图像Load进内存,并以Bitmap形式存在,利用
voidBMPToJPG(stringbmpFileName,stringjpgFileName)函数转化JPG格式,这是由于jpg图片相对与bmp图像来讲比较小,一样截取的图片转化成
JPG后约为4K-5K,便于网络传输,专门是Client端PDA属于属于无线上网
如此就减轻了网络传输的压力.
C.挪用主程序的listen()函数,将转化后的JPG实例化为一个FileStream,写入NetworkStream中,即将图片以网络流的形式传输到client端.
4.SocketClient(PDA)端模块
PDA负责与server端通信,发送获取图片请求,同时开一个线程负责同意
效劳器端发来的图片流.Client端先开一个100K的一个buffer,并将用此buffer构造一个FileSteam,将server发来的图片流实例话为一个文件流,然后将构造Bitmap对象将其显示到PDA上,如此通信进程能够异步进行,随时能够取得Server端当前抓拍的图像,如此就实现了简单的实时监控进程.
5.skinEngine皮肤引擎为Server增添光荣,
3程序描述
功能
系统要紧功能是在pda上取得远端摄像头实时拍照的图片。
下面是整体的IPO图
客户端(PDA)的功能:
效劳端:
性能
程序要求具有良好的健壮性,保证持续24小时内系统运行不出问题.程序有诸多异样处置机制,保证在显现异样的地址将其捕捉,从而为完成程序,为以后系统的升级做预备
输入项目
效劳器模块1
输入:
效劳器断请求
效劳器模块2(抓图设置)
输入:
名称
数据类型
数据有效范围
输入方式
备注
亮度
Unsignint
0~~40
键盘
对比度
Unsignint
0~~60
键盘
灰度
Unsignint
0~~10
键盘
色调
Unsignint
0~~40
键盘
饱和度
Unsignint
0~~100
键盘
锐度
Unsignint
0~~7
键盘
颜色
Color
(0,0,0)~~(255,255,255)
鼠标
垂直
Bool
鼠标
彩色
Bool
鼠标
镜象
Bool
鼠标
背光补偿
bool
鼠标
曝光
Bool
鼠标
USB带宽
bool
鼠标
图片大小
Longint
无
出于性能考虑,最好小于一百万
特殊输入:
去抖动:
值为{户外,50HZ,60HZ}。
捕捉源:
值为{PC驱动类型}。
分辨率:
{160*120,176*144,320*240,352*288,640*480}
客户端模块:
输入:
客户端请求
输出项目
输出:
效劳器端:
图片(依照输入设置的图片大小显示在效劳器端窗口。
)
图片大小(在文本框显示设置的图片大小)
程序分支
输出
连接客户端失败
Connectionfalse
传输失败
Transferfalse
截图失败
Cutfailure
无法启动
Servercannotrun
客户端输出:
图片(显示效劳器端实时传输过来的图片)。
算法
本系统没有设计很多的算法,此刻只是将Server端一个图片处置的算法简单介绍一下.
(1)将bmp格式的图片转化成JPG格式的图片利用的类库
ImageReturnPhoto(stringbmpFileName)
{
stream;
stream=(bmpFileName);
Bitmapbmp=newBitmap(stream);
image=bmp;考虑将Server端截取的图片做适当的切割,那个地址的切割参数为float类型
///
///切割图片函数,参数为Float的比例
///
///
publicvoidResetPhotoSize(floatPortion)
{
BitmapoldBitmap=newBitmap(ImagePath);
intheight=;
intwidth=;
//Color[,]oldpoint=newColor[width,height];
//for(inti=0;i//for(intj=0;j//{
//oldpoint[i,j]=(i,j);
//
//}
intNewWidth=(height*Portion);
intNewHeight=height;
BitmapnewBitmap=newBitmap(NewWidth,NewHeight);
//for(intk=0;k//for(intp=0;p//{
//(k,p,oldpoint[k,p]);
//}
();
(ImagePath);
}
程序逻辑
接口
存储分派
在pda上需要100k的内容大小空间。
从效劳端传过来的图片信息是已流的形式保留在内容中,但由于C#api的关系,必然要先保留到一个文件中,才能创建一个bitmap对象,才能显示在pda屏幕上。
效劳端那里需要的空间以图片的大小而定,一样操纵在100k之内。
由于效劳端用的控件本身的关系,截下来的图片只能先保留起来,不能直接从内存中读入。
限制条件
显示问题:
由于PDA屏幕大小的限制,能够取得专门大的图片,但显示出来不完全。
网络问题:
有时候网络延迟严峻,请求命令发送后要等10秒图片才能显示出来;还有网络传输错误率不低,使得有时候显示图像显现失真。
速度问题:
PDA端和效劳端都要进行文件读写,整个进程要进行4次IO操作,很耗速度。
时刻问题:
时刻太少。
课程问题:
所写程序和课程内容一点关系也没有,致使所有做的情形都要自己看书,没有动力。
测试打算
别离由宝元,陈雷进行了白盒测试,柏琪峰,郑聪进行了黑盒测试,最后集成测试。
系统功能测试:
测试目标
核实在以下情况下,系统可正确地执行功能:
✧Server系统为win2000及以上版本
✧PDA系统为wince以及以上版本
✧主机和PDA宿主机以及宿主机和PDA连接良好
测试范围:
系统功能的移植以及运行情况
系统在不同异常下的恢复情况
技术:
✧使用预先确定的功能测试脚本子集来运行事务。
开始标准:
系统开始在server上的无故障运行
完成标准:
所有的用例测试之后
测试重点和优先级:
图片传输的实时性以及图片显示的完整性
需考虑的特殊事项:
图片传输大小的问题:
不宜过大
PDA与客户端主机之间的同步设定
测试PDA的稳定性。
尚未解决的问题
速度问题:
整个进程有4次IO操作,很耗时。
持续传输:
当做功显示一张图片后,再向效劳器请求发送第二张图片时,效劳器无法同意的我的发送请求,一直死在那里。
审批记录表
序号
版本
评审日期
评审人
评审意见
1
陈雷
通过
2
3
4
5
批准人意见:
通过
批准人:
王宝元
批准日期: