资源描述
第十四届全国中小学生电脑制作活动
评选类项目(高中组)计算机程序设计
“家庭健康日记”手机软件
设计说明书
姓名:夏梦馨
学校:湖南师范大学附属中学
年级:高二
班级:1115班
指导老师:彭宇
目 录
第一章 软件简介 1
1.1 说明 1
1.2 使用“家庭健康日记”软件对手机的要求 1
1.3 测试手机列表 2
1.4 环境要求 2
1.5 术语说明 3
1.6 优化与致谢 4
第二章 设计原理 5
2.1 健康指标 5
2.2 电子病历 5
2.3 温馨提醒 5
2.4 心率检测 5
2.4.1 心率原理 6
2.4.2 采样分析 7
2.4.3 计算原理 9
2.4.4 采样优化原理 9
第三章 功能及流程图 11
3.1 功能 11
3.2 流程图 12
3.2.1 主流程 12
3.2.2 电子病历流程 13
3.2.3 温馨提醒流程 14
3.2.4 心率检测流程 15
3.2.5 优化流程 16
3.2.6 心跳分析流程 17
第四章 UE及UI设计 18
4.1 UE设计 18
4.2 UI设计 19
4.2.1 设计要求 19
4.2.2 效果图示例 19
第一章 软件简介
1.1 说明
2012年3月我在CCTV10“科教频道”第一次看到Family的公益广告,深受启发。我觉得我从小到大一直是爸爸妈妈、爷爷奶奶、外公外婆以我为中心,关心我的健康成长。无论是我生病还是身体不舒服,总有人陪伴我、照顾我。现在我长大了,我觉得我应该逐步担起家庭的责任,关爱亲人的健康。于是我有了开发“家庭健康日记”的手机软件,用来帮助人们记录、检测亲人的健康情况。通过一段时间的开发,我的这个手机程序已经具备了一个健康日记的基本功能,也慢慢的为我的同学们接受和熟知。同时,我把这个软件申报到三星公司的手机应用商店(samsung apps mobile),希望能有更多同学和我一样知道,手机不仅仅有娱乐功能,还能用来关爱家庭、关爱亲人健康。使用要求
1.2 使用“家庭健康日记”软件对手机的要求
1. 操作系统:Android 2.3.x 、4.x
2. 屏幕分辨率:480×640像素或以上
3. 手机有SD卡,剩余容量不少于20MB
4. 如果要使用软件中的“心率检测”功能:
1) 手机必须有500W像素或以上摄像头
2) 由于“心率检测”功能的原理是通过手机摄像头连续拍摄食指图片,分析图片中红色深度值计算心率,具备闪光灯的手机效果更好。如手机无闪光灯,在光线明亮的环境或将摄像头对着阳光,检测效果更好。
1.3 测试手机列表
序号
型号
说明
1
三星GT-i9308
2
三星GT-i9100
3
三星galaxy notes I
4
三星galaxy notes II
5
三星i5830
6
索爱LT30P
7
索爱MT15i
8
索爱LT26i
1.4 环境要求
1. 开发环境:eclipse 3.4.2,JDK 1.6.0,ADT 21.0.1、SQL Lite
2. 测试手机:索爱LT30P
3. 运行环境:
1) Android 4.x版本、2.3.x版本
2) 屏幕分辨率:480×640像素或以上
3) 不少于20MB存储空间的手机SD卡、500W像素或以上摄像头
4) 有闪光灯检测效果最佳
5) 使用作品中的【分享】功能才需要联网,支持中国联通、中国电信、中国移动、WiFi无线网络
4. 程序权限
1) 存储:修改/删除SD卡中的内容
2) 硬件控制:拍摄照片和视频
3) 付费服务:发送短信
4) 系统工具:防止手机休眠、装载和卸载文件系统
1.5 术语说明
以下对本设计说明书涉及到的术语予以描述。
序号
术语
说明
1
UE
User Experience,用户体验,是指通过对软件功能分析,结合手机特点,以事件驱动(events-drive)方式,设计符合用户操作习惯的布局、结果反馈,优化、提升软件使用体验
2
UI
User Interface,用户界面,是指通过专业界面设计师,结合软件UE设计,设计符合手机分辨率的界面,使软件呈现更加美观
3
心率
Heart Rate,心脏跳动的频率,用于描述心动周期的专业术语,是指心脏每分钟跳动(舒张、收缩)的次数
4
采样
是指通过在一个连续时间段内,采集目标数据并记录的过程,例如采集红色的颜色深度值
5
帧
Frame,是指通过手机摄像头拍摄的一张相片,视频文件就是由连续的帧构成的。在本软件中,通过手机摄像头拍摄食指多帧照片,并通过红色颜色深度值的分析,用于计算心率
6
RGB
是指获取图像中的六位十六进制RGB值,第1、2位值为红色,即R。当RGB值为00 00 00时,颜色为黑色,当RGB值为FF FF FF时,颜色为白色。
7
颜色深度值
在本软件中特指红色的颜色深度,即RGB值中的第1、2位值,从0到255,值越大深度越深。
1.6 优化与致谢
由于时间和知识储备原因,作品还能继续优化的方面包括:
1. 支持IPhone手机:目前作品支持Android智能手机,可开发支持IPhone手机的版本,让更多和我一样关爱亲人、关爱家庭的同学能够使用。
2. 目前作品支持微薄、邮件、短信分享,可考虑通过手机访问互联网方式,建立服务端的健康知识库,让同学们除了关爱亲人,还能够掌握更多的如何关爱亲人健康的科学知识。
感谢我的指导老师彭宇在作品构思、设计、开发、优化方面的指导与鼓励。
第二章 设计原理
2.1 健康指标
2.2 电子病历
在日常生活中,病历本往往比较多,遗失后难以为今后的治疗提供参考。家庭健康日记软件的电子病历功能,利用手机的拍照功能,把亲人每次去医院看病的病历通过拍照保存到手机SD卡中,同时通过记录时间、医院、科室、主治医生信息,形成电子病历,可通过手机随时查询亲人看病的情况。
2.3 温馨提醒
关爱亲人要从小事做起,付诸于实际行动。父母往往忙于工作忽视自己的身体,通过在家庭健康日记中设置提醒,例如父母服药、体检、散步等等,承担家庭责任,让父母能随时体会到自己的温馨与关爱。
2.4 心率检测
人体血液颜色是由血液中的含氧量决定的,血液的颜色由于氧含量的变化会产生周期性的改变,对应心跳的收缩、舒张过程即一次心跳过程。当食指指尖放置在手机摄像头上,通过分析摄像头拍摄的照片中红色颜色深度值可以计算心率。
2.4.1 心率原理
在初中的生物课目中,我们学习到:
1. 心脏是人体的“泵”,推动血液在血管里不停地循环流动,心脏与血管是人体血液循环器官;
2. 心脏每收缩与舒张一次,就是一次心跳,一分钟心跳次数,就是心率。心脏不停的收缩、舒张时,血管也会跟着收缩、舒张,所以我们可以通过脉搏获知心跳;
3. 在血液循环的过程中,静脉血含氧量低,颜色呈现暗红色,动脉血含氧量高,颜色呈现鲜红色。
通过以上基础生物知识,我们可以得知:
1. 血液颜色为红色,如果能采集到红色的颜色深度值,我们可以判断当前在血管中流动的是静脉血还是动脉血;
2. 血管中的静脉血、动脉血是随着心脏的收缩、舒张而变化的,即在心脏收缩过程中,心脏把含氧量高的动脉血“泵”入到血管中,血管中的动脉血增多,颜色深度值逐渐变小,心脏舒张过程中,心脏把含氧量低的静脉血“抽”回到心脏,血管中的静脉血多,颜色深度值最大;
3. 一次收缩、舒张的过程构成一次心跳,1分钟内心跳次数构成心率。如果可以检测到血管中血液(红色)颜色深度值的变化,就可以检测到一次心跳所需要的时间,并可计算出一分钟内(60秒)心跳的次数即心率。
2.4.2 采样分析
根据心率原理,通过手机如何实现颜色深度值的数据采集是实现心率测试的关键:
1. 食指指尖有丰富的毛细血管,在光照充足条件下,例如将手电筒照着食指指尖,可以看到指尖呈现血液的红色;
2. 手机有摄像头,可以连续拍摄照片,如将食指之间放置在摄像头上,通过手机的闪光灯照射,可以连续拍摄食指指尖的照片;
3. 通过对照片中红色颜色的深度值判断,可以得知当前血管中血液的深浅,即因含氧量的不同为动脉血还是静脉血。
尽管有了实现原理的支撑,前期的实验必不可少:
1. 如何判断食指指尖已正确放置在手机摄像头上?
根据手机摄像头拍摄的照片,分析照片的RGB值,并取出R(红色)值,当R值(即颜色深度值)大于140时,则判断食指指尖已正确放置到手机摄像头上,当R值小于或等于140时,则判断食指指尖未正确的放置在摄像头上并提示用户。
值得一笑的是:如果你把一个红色的物体,例如一张红纸放在摄像头上,摄像头也会认为你的食指指尖已经正确的放置好了!当然,通过对颜色深度值的波形变化,可以过滤掉这种深度值未发生变化的情况。
2. 如何判断红色颜色深度值对应的静脉血、动脉血?
我用索爱测试手机拍摄了约12秒钟的食指指尖并输出其红色颜色深度值,报表中的红色颜色深度值,真实反映了动脉血、静脉血的周期。实验数据参见《心跳检测实验数据.xls》文件。
1) 上图中X轴为帧序号,Y轴为颜色深度值;
2) 当RGB中的R值(即红色颜色深度值)大于140时,对本帧图像进行分析,保存R值;
3) 可以看出当食指指尖刚放置到摄像头上时,由于光线、食指挪动原因,造成数据起伏大,需优化过滤掉。优化方式采取前30帧的R值数据不做有效采样数据保存。
4) 从第31帧图像起,颜色深度值起伏规律,作为有效的采样数据进行心跳计算处理。
2.4.3 计算原理
1. 从摄像头捕获到有效数据(第31帧图像)起开始计时;
2. 取有效采样R值数据的平均值(R值之和/帧数);
3. 对每帧图像中R值数据大于或等于平均值的,该数据不可能为波谷数据,予以过滤,保存一个波形中最小值(波谷);
4. 循环处理第3步至用户食指从摄像头上移开或因光线原因无法采集到有效数据,计时结束,保存时长;
5. 心率为1分钟,即60秒心跳次数,心率=((最小值个数-1)/时长)×60
2.4.4 采样优化原理
1. 用户食指刚放置到摄像头上时,采集的数据不稳定,从第1帧到第30帧图像不做处理;
2. 采样数据的有效性与食指是否移动、光线强度变化关联度高,在采集的实验数据中,会出现波动幅度很小的类似锯齿状的波峰波谷,会造成误判为一次心跳,通过实时求平均值,过滤大于或等于平均值的数据,保证心率计算的准确性;
3. 对应基础生物知识,两次波谷为一次有效心跳。
第三章 功能及流程图
3.1 功能
下图为作品功能。
3.2 流程图
3.2.1 主流程
3.2.2 电子病历流程
3.2.3 温馨提醒流程
3.2.4 心率检测流程
3.2.5 优化流程
3.2.6 心跳分析流程
第四章 UE及UI设计
4.1 UE设计
设计宗旨:精简布局、降低图片加载、减少输入等。
设计要素:
1. 优秀的技术实现+优秀的产品体验=优秀的产品;好的作品总是让使用者看不到技术的存在;
2.
3.
4.
5.
4.2
4.2.1
1.
2.
3.
4.
5.
6.
4.2.2
1.
1)
2)
3)
2.
1)
2)
3)
4)
3.
1)
2)
4.
展开阅读全文