我正在尝试使用android设备中的摄像头来测量心跳。
在我看来,将指尖放在相机镜头上,观察相机画面的变化。我已经尝试了这里的应用程序,但它似乎不正确。
请在Google Code上查看这篇文章
http://code.google.com/p/android-heart-rate-monitor/issues/detail?id=1 c22
它解释了如何检查手指是否在相机上
"对任何感兴趣的人来说,我想出了如何检测用户是否将手指放在相机上。在imageProcessing.java中,在decodeYUV420SPtoRedAvg()方法中,我们计算了红色像素的平均值。我做了一个小实验,发现当用户将手指放在相机镜头上时,平均值的值> 200。在其他情况下,平均值为<200。因此,在hearttrateactivity中,您可以在调用decodeYUV420SPtoRedAvg()之后添加if语句,以查找返回的值是>200还是<199. 你可以用它来显示一个警告框或类似的东西来引导用户将手指放在相机镜头上。"
一个解
在android中,我们可以在后台打开相机,这样当我们用手指点击覆盖整个相机时,我们可以检查颜色或RGB。
当我们得到相同的颜色时,我们知道相机完全被手指轻拍覆盖,现在你可以测量心率。
其他解决方案
- 从相机中抓取图像帧
- 比较前一帧与前一帧的图像度量。你需要弄清楚使用什么指标:亮度,颜色等。
- 如果指标在一个方向上明显不同,那么你有心跳。
- 暂停一些不确定的时间。
- 转到1
其他可用的心率演示心率演示
你所要做的就是打开hearttratemonitor应用程序,然后把食指的尖端放在手机的相机镜头上。整个相机预览图像应该是红色的,在你的指尖触摸的地方有一个较浅的区域。不要压得太紧,否则会切断血液循环,从而导致读数不准确。
一到两秒后,你应该看到屏幕顶部的Android图标开始闪烁红色,当它感觉到心跳。10秒后,它会计算你的心率,并更新安卓图标旁边的数字。需要10到30秒才能得到准确的心率