我正在尝试在我正在开发的应用程序中实现心跳录音功能.
这样做的首选方法是使用iPhone的相机打开灯,让用户将手指放在镜头上,并检测视频输入中与用户心脏相对应的波动.
我发现了一个非常好的起点,这里有以下堆栈溢出问题
该问题提供了绘制心跳时间图的有用代码.
它显示了如何启动AVCaptureSession并打开相机的指示灯,如下所示:
session = [[AVCaptureSession alloc] init];
AVCaptureDevice* camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if([camera isTorchModeSupported:AVCaptureTorchModeOn]) {
[camera lockForConfiguration:nil];
camera.torchMode=AVCaptureTorchModeOn;
// camera.exposureMode=AVCaptureExposureModeLocked;
[camera unlockForConfiguration];
}
// Create a AVCaptureInput with the camera device
NSError *error=nil;
AVCaptureInput* cameraInput = [[AVCaptureDeviceInput alloc] initWithDevice:camera error:&error];
if (cameraInput == nil) {
NSLog(@"Error to create camera capture:%@",error);
}
// Set the output
AVCaptureVideoDataOutput* videoOutput = [[AVCaptureVideoDataOutput alloc] init];
// create a queue to run the capture on
dispatch_queue_t captureQueue=dispatch_queue_create("catpureQueue", NULL);
// setup …Run Code Online (Sandbox Code Playgroud) 可能重复:
使用相机检测心率
我正在研究在iOS中检测脉搏率.我做了一些搜索,现在我能够使用能够读取心跳的外部蓝牙设备读心跳.但现在我对使用iPhone相机检测脉冲感到好奇.我想了解它是如何做到的?这背后的实际理论是什么?任何人都有这个背后的想法吗?
根据我的搜索,我发现我需要在视频模式下使用相机.我需要比较该视频中的每个帧的颜色变化.当我们的心脏将血液泵入体内时,每个泵都会改变颜色.那么我将如何使用相机获得颜色变化,还是有其他方法可以做到这一点?
可能重复:
使用相机检测心率
我需要与应用程序即时心率相同的功能.
基本过程要求用户:
将食指尖轻轻放在相机镜头上.施加均匀的压力并覆盖整个镜头.保持稳定10秒钟并获得心率.这可以通过打开闪光灯并在血液通过食指时观察光线变化来实现.
我该怎么开始