Мне нужны те же функции, что и в приложении Instant Heart Rate .
Основной процесс требует от пользователя:
Это можно сделать, включив вспышку и наблюдая за изменением света по мере того, как кровь движется по указательному пальцу.
Как я могу получить данные об уровне освещенности при видеозахвате? Где мне это искать?
Я просмотрел класс AVCaptureDevice
, но не нашел ничего полезного.
Я также нашел AVCaptureDeviceSubjectAreaDidChangeNotification
, было бы это полезно?
На самом деле все может быть просто, вам нужно проанализировать значения пикселей снятого изображения. Один простой алгоритм может быть следующим: выбрать и область в центре изображения, преобразовать в оттенки серого, получить медианное значение пикселя для каждого изображения, и вы получите 2D-функцию, и по этой функции рассчитайте расстояние между минимумами. или максимум и проблема решена.
Если вы посмотрите на гистограмму полученных изображений в течение 5 секунд, вы заметите изменения в распределении уровня серого. Если вы хотите более надежный расчет, проанализируйте гистограмму.