Measures human heart rate using camera and flash light.

Overview

Donation About Jan Rabe

Heart-Rate-Ometer Android Arsenal Javadoc Build Status API Gradle Version Retrolambda Licence

Introduction

Measures human heart rate using camera and flash light.

Screenshot Screenshot

How-it-works

https://github.com/phishman3579/android-heart-rate-monitor/wiki/How-it-works.

How to install

repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies {
    implementation 'com.github.kibotu:Heart-Rate-Ometer:-SNAPSHOT'
}

How to use

0 Request camera permission

Manifest.permission.CAMERA

1 Add surfaceView to your layout which is required for the camera preview

<SurfaceView
    android:id="@+id/preview"
    android:layout_width="1dp"
    android:layout_height="1dp"
    android:visibility="visible" />

2 Subscribe to the beats per minute stream

HeartRateOmeter()
    .bpmUpdates(context, preview)
    .subscribe(
            { bpm: Int -> label.text = "$bpm bpm" },
            Throwable::printStackTrace)

How to build

graldew clean build

CI

gradlew clean assembleRelease test javadoc

Build Requirements

  • JDK8
  • Android Build Tools 27.0.2
  • Android SDK 27

Notes

Follow me on Twitter: @wolkenschauer

Let me know what you think: jan.rabe@kibotu.net

Contributions welcome!

Contributors

###License

Copyright 2018 Jan Rabe

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You might also like...
Android application to preview, record (MediaRecorder), and fetch each image from both front and rear cameras simultaneously
Android application to preview, record (MediaRecorder), and fetch each image from both front and rear cameras simultaneously

DuoCamera 🚀 Overview Android application to preview, record (MediaRecorder) and fetch each image from both front and rear cameras simultaneously. The

A library to take picture easy, transform your data in different format and save photos in your device
A library to take picture easy, transform your data in different format and save photos in your device

A Magic library to take photos and select pictures in Android. In a simple way and if you need it also save the pictures in device, and facial recogni

Quick photo and video camera with a flash, customizable resolution and no ads.
Quick photo and video camera with a flash, customizable resolution and no ads.

Simple Camera A camera with flash, zoom and no ads. The camera is usable for both photo taking and video recording. You can switch between front and r

Quick photo and video camera with a flash, customizable resolution and no ads.
Quick photo and video camera with a flash, customizable resolution and no ads.

Simple Camera A camera with flash, zoom and no ads. The camera is usable for both photo taking and video recording. You can switch between front and r

Quick photo and video camera with a flash, customizable resolution and no ads.
Quick photo and video camera with a flash, customizable resolution and no ads.

Simple Camera A camera with flash, zoom and no ads. The camera is usable for both photo taking and video recording. You can switch between front and r

A loader that measures up Material Design
A loader that measures up Material Design

SpinnerLoader A loader that measures up Material Design. This is an implemention of http://t.co/sUuYTeKOzp Usage only one attribute point_color com.f

Helps to find your surrounding's light value (for android only) using device light sensor

react-native-ambient-light-sensor Helps to find your surrounding's light value (in lux unit) (for android only) using device light sensor Installation

❤️ A heart-shaped toggle switch component built using Jetpack Compose
❤️ A heart-shaped toggle switch component built using Jetpack Compose

heart-switch A heart-shaped toggle switch component built using Jetpack Compose. Inspired by Tore Bernhoft's I heart toggle Dribbble shot and Anatoliy

A general purpose compiler heart

Jamtree A general purpose compiler heart. This is a component of the compiler of the jamplate programming language.

Camera Folder:
Camera Folder: "Take a Photo from Camera" everywhere where you can open a photo file

When "Camera Folder" is installed many Android-Apps that can open jpg files can also take a photo from camera.

AndroidRate is a library to help you promote your Android app by prompting users to rate the app after using it for a few days.
AndroidRate is a library to help you promote your Android app by prompting users to rate the app after using it for a few days.

AndroidRate AndroidRate is a library to help you promote your Android app by prompting users to rate the app after using it for a few days. Project ba

A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.
A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted outputs-and displays accurate measurements.

Measure App A clean-aesthetically pleasing Measuring Application, which uses relevant sensors-converts raw sensor data into human readable formatted o

CalEF (Calendar Entry Formatter) : Select an entry in Android-Kalender and send/share the entry's content as human readable text.

CalEF (Calendar Entry Formatter) Select an entry in Android-Kalender and send/share the entry's content as human readable text. Usually calendar entri

Chain Relations is a small casual existential game about life, human needs and long-term relations.
Chain Relations is a small casual existential game about life, human needs and long-term relations.

Chain Relations Chain Relations is a small casual existential game about life, human needs and long-term relations. ChainRelations.360p.mp4 Game objec

Convert lua to make it human-readable and remove obfuscation.

Muna Convert lua to make it human-readable and remove obfuscation. Based on luaj parser and lua formatter. Before function L1_1(A0_2, A1_2) local L2

An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert
An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert

Swift Mask Real time face mask detection Brief overview Swift Mask scans images or human faces in real time and detects whether the mask is worn or no

Android MoveNet single human pose estimation by ncnn
Android MoveNet single human pose estimation by ncnn

Android MoveNet single human pose estimation by ncnn

Android human matting demo infer by ncnn
Android human matting demo infer by ncnn

ncnn_Android_modnet Android human matting demo infer by ncnn the model from MODNet: Trimap-Free Portrait Matting in Real Time support model 1.mobilene

The backend of HumLib - The Human Library in Computer Science

humlib-be Backend for HumLib - The Human Library in Computer Science Development workflow We use GitHub flow as git branching strategy. It is based on

Comments
  •  java.lang.RuntimeException: setParameters failed

    java.lang.RuntimeException: setParameters failed

    Using API 28

    android.hardware.Camera.native_setParameters (Camera.java) android.hardware.Camera.setParameters (Camera.java:2102) de.charite.balsam.utils.camera.CameraPreLolipop.getParameters (Unknown Source:4) net.kibotu.heartrateometer.HeartRateOmeter.getPublishSubject (Unknown Source:107) net.kibotu.heartrateometer.HeartRateOmeter.startPreview (Unknown Source:12) net.kibotu.heartrateometer.HeartRateOmeter.start (Unknown Source:139) net.kibotu.heartrateometer.HeartRateOmeter$bpmUpdates$1.accept (Unknown Source:19) net.kibotu.heartrateometer.HeartRateOmeter$bpmUpdates$1.accept (Unknown Source:2) io.reactivex.internal.observers.DisposableLambdaObserver.onSubscribe (Unknown Source:2) io.reactivex.subjects.PublishSubject.create (Unknown Source:5) io.reactivex.Observable.doOnDispose (Unknown Source:14) io.reactivex.internal.operators.observable.ObservableDoOnLifecycle.subscribeActual (Unknown Source:11) io.reactivex.Observable.doOnDispose (Unknown Source:14) io.reactivex.internal.operators.observable.ObservableDoOnLifecycle.subscribeActual (Unknown Source:11) io.reactivex.Observable.doOnDispose (Unknown Source:14) io.reactivex.Observable.doOnDispose (Unknown Source:25) io.reactivex.Observable.subscribe (Unknown Source:8)

    help wanted 
    opened by JotaFerreira 2
Owner
Jan Rabe
Native Android / Unity Developer & Technocrat #kotlin #csharp #unity #opensource
Jan Rabe
Camera Folder: "Take a Photo from Camera" everywhere where you can open a photo file

When "Camera Folder" is installed many Android-Apps that can open jpg files can also take a photo from camera.

k3b 18 Dec 20, 2022
Powerful custom Android Camera with granular control over the video quality and filesize, restricting recordings to landscape only.

LandscapeVideoCamera Highly flexible Android Camera which offers granular control over the video quality and filesize, while restricting recordings to

Jeroen Mols 1.2k Nov 22, 2022
📸 Use Android camera to take pictures and videos, based on `camera2` api.

Camera Use Android camera to take pictures and videos, based on camera2 api. Features Auto filled CameraView for previewing Support both image capture

Hong Duan 119 Nov 25, 2022
Android camera and serial communication utility that interacts with another device via a USB connection.

PVIT-Payload-Source Android camera and serial communication utility that interacts with another device via a USB connection. PVIT = Palos Verdes Insti

Zeroz & Onez 1 Nov 10, 2021
NguyenThienAn06105 - This repository consist of the code to read camera data on ESP8266 and a simple Android application to visualize the …

MLX90640-HeatCamera This repository consist of the code to read camera data on ESP8266 and a simple Android application to visualize the result. There

Christian Hein 0 Jan 1, 2022
Wrapper around the android Camera class that simplifies its usage

EasyCamera Wrapper around the android Camera class that simplifies its usage (read more about the process) Usage: // the surface where the preview wil

Bozhidar Bozhanov 642 Nov 27, 2022
Android library to choose image from gallery or camera with option to compress result image

ImagePicker Android library to choose image from gallery or camera with option to compress result image. Download Add this to your project's build.gra

Mayank Nagwanshi 73 May 20, 2022
A new camera app for GrapheneOS based on the modern CameraX library.

This is the new GrapheneOS Camera app based on Android's modern CameraX library. It's currently in the alpha phase and isn't yet included in GrapheneO

GrapheneOS 513 Jan 1, 2023
An Android App that uses Machine Learning to recognize the objects in an image captured from the phone's camera

Camera App ?? Description An Android App that uses Machine Learning (ML) to recognize the objects in an image captured from the phone's camera. • Allo

Shikeya Anderson 1 Dec 31, 2022