Как получить отзыв от камеры? - PullRequest
1 голос
/ 22 октября 2011

Для моего следующего проекта я начал анализировать приложения, которые измеряют пульс через камеру (вы нажимаете пальцем на камеру, и вы получаете информацию о пульсе).

Я пришел к выводу, что приложения получают данные с камеры с помощью света. Как добиться этого? Можете ли вы направить меня в любую область, которую я должен расследовать?

Если у кого-то есть желание помочь мне объяснить, как работают приложения для измерения пульса? Я не могу найти какой-либо документ в сети по этой теме.

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 22 октября 2011

Чтобы дополнить ответ Роберта с точки зрения непрограммирования (и поскольку вы об этом спрашивали), приложения для измерения пульса основаны на Пульсоксиметрия .

Идея состоит в том, чтобы измерить поглощение красного света, которое будет меняться, когда оксигенированная кровь проходит через кончики ваших пальцев.Когда это произойдет, будет пик поглощения, вам нужно только измерить количество зарегистрированных пиков и поделить на соответствующий период времени для вычисления частоты сердечных сокращений.

ИМХО, чтобы выполнить его намобильное устройство не является достаточно надежным, поскольку оно требует хороших условий освещения и инфракрасных импульсов, и есть несколько факторов, которые усложняют эту задачу:

1) Некоторые телефоны могут не иметь светодиодной вспышки рядомкамера

2) Некоторые телефоны могут вообще не иметь вспышки

3) У вас нет доступа к инфракрасным данным.

4) Телефондолжно быть абсолютно неподвижным, иначе изображение будет постоянно меняться, что делает измерение яркости ненадежным.

1 голос
/ 22 октября 2011

AFAIK такие приложения используют режим предварительного просмотра Camera .

Используя метод setPreviewCallBack (..) (и, конечно, startPreview()), вы можете зарегистрировать собственного слушателя, который непрерывно принимает вызовы с камеры, содержащей текущее видимое изображение:

onPreviewFrame(byte[] data, Camera camera)

Данные изображения содержатся в байтовом массиве данных.Формат данных может быть установлен с помощью setPreviewFormat () .Используя эти данные, вы можете, например, обработать изображение и уменьшить его яркость в определенной точке изображения.Со временем яркость изображения должна отображать импульсы.

Я не думаю, что необходимые алгоритмы изображения доступны по умолчанию во время выполнения Android, поэтому вам нужно разработать собственные алгоритмы или искать сторонние библиотеки, которые могутиспользоваться на Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...