9

Всем привет.

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

Спасибо.

  • Эт надо мелко ребристое изображение выводить на экран для начала, иначе зрачок будет постоянно дёргаться при движении... и толку о положения не будет :-) – Чад Sep 09 '12 at 17:47

2 Answers2

3

Используйте библиотеку компьютерного зрения OpenCV для Андроид.

  • Будем считать, что фраза топикстартера "подскажите куда копнуть" дала вам карт-бланш на однострочный ответ. Обычно такое рекомендуется к удалению из-за длины. Либо пишется в комментариях. Ладно, "выглядит нормально" и даже upvote. – A K Feb 04 '17 at 21:24
  • 1
    @AK, ок буду знать. К моменту написания ответа у меня не было соответствующих привилегий для комментирования вопросов. – SolderingIronMen Feb 05 '17 at 12:50
  • Главное не количество букв, а смысл слов. – Ilnar Jul 03 '20 at 20:13
2

В OpenCV есть несколько методов для выявления глаза - начать можно с этой статьи. Зрачок вам придется искать уже самостоятельно, выделив фрагмент кадра, соответствующий глазу. Довольно несложно будет найти центр зрачка по градиенту - искать по пикселам вправо-влево от центра глаза пока не доберетесь до белка - вот вам и глазное яблоко, ну как пример в лоб. Трудности будут совсем другого плана - по монокулярному изображению будет невозможно установить с достаточной точностью углы поворота и наклона головы.

Чтобы решить Вашу задачу, необходима прежде всего 3D-реконструкция положения головы (координаты и поза) относительно камеры, а потом уже зрачок...