如何从相机获得反馈?

时间:2011-10-22 12:52:31

标签: android android-camera

对于我的下一个项目,我开始分析通过相机测量脉冲的应用程序(您用手指按相机并获得脉搏信息)。

我的结论是应用程序借助灯光从相机接收数据。怎么做到这一点?你能指导我到我应该调查的任何地方吗?

如果有人有心情帮我解释脉搏测量应用程序是如何工作的?我在网上找不到关于这个主题的任何文档。

提前致谢

2 个答案:

答案 0 :(得分:3)

为了从非编程的角度补充罗伯特的答案(并且自从你提出这个问题),脉冲测量应用程序基于Pulse Oxymetry

这个想法是测量红光的吸光度,当含氧血液通过指尖时会发生变化。当发生这种情况时,吸光度会出现峰值,您只需要测量峰值的记录次数,然后除以相应的时间帧来计算心率。

恕我直言,要在移动设备上执行它并不是很可靠,因为它需要良好的照明条件和红外脉冲,并且有几个因素使得这项任务非常困难:

1)某些手机可能没有相机附近的闪光LED指示灯

2)有些手机可能根本没有闪光灯

3)您无权访问红外线数据。

4)手机必须绝对静止,否则图像会不断变化,使亮度测量不可靠。

答案 1 :(得分:1)

AFAIK此类应用正在使用Camera的预览模式。

使用方法setPreviewCallBack(..)(当然还有startPreview()),您可以注册自己的监听器,该监听器持续接收来自包含当前所见图片的摄像头的呼叫:

onPreviewFrame(byte[] data, Camera camera)

图像数据包含在数据字节数组中。可以通过setPreviewFormat()设置数据格式。使用此数据,您可以处理图像并将其降低到图像中某个点的亮度。在此期间,图像亮度应显示脉冲。

我认为Android运行时默认情况下不需要必要的图像算法,因此您必须开发自己的算法或寻找可在Android上使用的第三方库。