转载于https://www.jianshu.com/p/6a504afe179e


[前情提要] 光阴似箭,日月如梭,最近几年,支持心率检测的设备愈发常见了,大家都在各种测空气测雪碧的,如火如荼,于是我也来凑一凑热闹。[0]
这段时间,我完成了一个基于iOS的心率检测Demo,只要稳定地用指尖按住手机摄像头,它就能采集你的心率数据。Demo完成后,我对心率检测组件进行了封装,并提供了默认动画和音效,能够非常方便导入到其他项目中。在这篇博客里,我将向大家分享一下我完成心率检测的过程,以及,期间我遇到的种种困难。

本文中涉及到的要点主要有:

  • AVCapture
  • Core Graphics
  • Delegate & Block
  • RGB -> HSV
  • 带通滤波
  • 基音标注算法(TP-Psola)
  • 光电容积脉搏波描记法(PhotoPlethysmoGraphy, PPG)

在开始之前,我先为大家展示一下最后成品的效果:

心率检测的ViewController

上图展示的是心率检测过程中的主要界面。
在检测的过程中,应用能够实时捕捉心跳的波峰,计算相应的心率,并以Delegate或Block的形式回调,在界面上显示相应的动画和音效。


〇、剧情概览

好吧,

心跳之旅——iOS用手机摄像头检测心率(PPG)相关推荐

  1. 心跳之旅—iOS用手机摄像头检测心率(PPG)

    本文中涉及到的要点主要有: AVCapture Core Graphics Delegate & Block RGB -> HSV 带通滤波 基音标注算法(TP-Psola) 光电容积脉 ...

  2. android闪光灯测心率,手指放在手机摄像头和闪光灯前检测心率的应用是什么原理?...

    他最原始的原理应该是"光电容积脉搏波描记法"---------------以下是介绍---------------光电容积脉搏波描记法(PhotoPlethysmoGraphy P ...

  3. iOS手机摄像头测心率

    最近在封装一个手机摄像头测心率的模块,搞得精神各种紧张,导致吃饭.路上.做梦,甚至都在想这个东西,就在刚刚终于搞完了,写个文章庆祝一下. 原理 简单介绍一下,网上可以查到很多关于手机测心率的这种项目, ...

  4. OpenCV调用手机摄像头与人脸检测

    文章目录 一.OpenCV机器视觉环境搭建 1. OpenCV下载 2. OpenCV安装 3. 安装测试 二.OpenCV调用摄像头及人脸检测 1. 调用电脑摄像头 2. 调用手机摄像头及人脸检测 ...

  5. 摄像头防水性能测试软件,手机摄像头防水测试/手机摄像头气密性检测方法分享...

    原标题:手机摄像头防水测试/手机摄像头气密性检测方法分享 手机作为通讯消费产品,已成为了人们日常生活的必须品,伴随着光电及科学技术的发展,手机在原有通讯功能的基础上又新增多种功能,例如数码照相.看电视 ...

  6. GitHub YOLOv5 开源代码项目系列讲解(五)------链接手机摄像头实现目标检测

    本专栏将从安装到实例运用全方位系列讲解 GitHub YOLOv5 开源代码. 专栏地址:GitHub YOLOv5 开源代码项目系列讲解 目录 1 手机下载 "IP摄像头" AP ...

  7. 我把3个镜头手机拍的照片发微信群,哥们说,现在手机摄像头越来越多,我有一个扫码就够了...

    为了测试一加8的超广角摄影效果,我在深圳福田区拍了一张图 我哥们看到这张图,感叹手机镜头畸变的同时,又讲出了无数普通手机用户的心声: 现在手机摄像头越来越多,我有一个扫码就够了 手机为什么会有越来越多 ...

  8. 基于opencv第三方视觉库,通过内网IP调用手机摄像头,实现人脸识别与图形监测

    1. 安装opencv视觉库 OpenCV 是一个开源的计算机视觉库,OpenCV 库用C语言和 C++ 语言编写,可以在 Windows.Linux.Mac OS X 等系统运行.同时也在积极开发 ...

  9. 镜头评价指标及测试方法【四】————手机摄像头调查

    由于近期的一些工作内容和地点的原因,所处的领域可能会发生一定的变化,因此,做了一些相关的调研来支撑自己的选择,先来一份调研数据: 2019 年,全球六大手机品牌的市场份额总计达到 73.3%,同比上升 ...

最新文章

  1. Traincascade Error: Bad argument (Can not get new positive sample. The most possible reason is insuf
  2. MongoDB基础教程系列--目录结构
  3. R语言:plot()函数参数合集
  4. 用 Python 告诉你!最近 24 小时内朋友圈发生了什么
  5. 【一起去大厂系列】什么是回表查询?怎么优化回表查询?
  6. ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)
  7. 利用Inception-V3训练的权重微调,实现猫狗分类(基于keras)
  8. linux内核网络raw_cpu_add,深入理解Linux网络技术内幕-设备注册和初始化(四)
  9. 【Unity新闻】Unity新工具Metric Validation帮你自动化测试游戏平衡性
  10. C语言文件读写(输入输出重定向)
  11. MVC学习笔记八:WebGrid控件的高级使用
  12. http中get和post的区别
  13. 系统集成项目管理工程师章节重点第一章
  14. 《电路》邱关源 思维导图 第六章-储能元件
  15. cntv客户端_cntv网络电视_cntv官方下载-太平洋下载中心
  16. 043 Tayler泰勒公式证明
  17. 传化智联如何拿下第248张第三方支付牌照
  18. ORA-01002 “fetch out of sequence”关于cursor的一个bug
  19. 图像分割之分水岭分割算法
  20. 京东一元抢宝系统的数据库架构优化

热门文章

  1. CSharp 基本知识-数组
  2. 基于深度学习的图标型验证码识别系统(包含完整代码、界面)
  3. H5如何实现图文一行分布且图片在左侧而文字在右侧
  4. cannot delete inactive domain with nvram
  5. nacos 一直访问本地地址
  6. edxp已激活模块_edxposed框架模块
  7. C语言实现斐波那契数列的几种方法
  8. pr中照片定格效果,轨道遮罩键
  9. golang 调度之wakep和M创建
  10. JAVA线上问题排查及常用命令