Отслеживание объекта с камеры. Как лучше реализовать?

98
07 сентября 2019, 05:10

Есть задача: Отследить нужную белую точку на белом фоне, их может быть несколько. Пользователь получает превью камеры, затем выбирает точку касанием и начинается отслеживание точки. Область тача задается квадратом 100х100, при этом точка движется с минимальной скоростью, не выходит за пределы квадрата (зоны тача). Я эту задачу разбил на маленькие подзадачи:

  • Реализовать превью камеры +
  • Узнать координаты касания, выделить область касания +
  • Пробежаться по прямоугольнику 100х100 (область касания) найти самую яркую точку -
  • Определить центр (максимальное значение интенсивности будет максимальным, т.к. белый цвет) -
  • Получив координаты центра, построить прямоугольник от этой точки.-

Возникают проблемы с последними пунктами. Как их лучше реализовать? Задержка допустима.

Answer 1

Врятли это получится средствами java. Вернее может и получится - но производительность постоянного сканирования каждого кадра на определенную точку, её отслеживание и т.д. будет очень низкой. Вам придется делать это на с++ в NDK, либо использовать другие библиотеки: OpenCV (универсальная), Mobile vision от гугла (ограничена распознаванием лица, баркода, текста), и т.д. см. https://habr.com/ru/post/345268/

Как это возможно сделать на OpenCV:

  1. при нажатии на превью сохранить ограничения (координаты) 100x100 в пределах которых нужно будет самую искать яркую точку

  2. наложить на изображение нужные фильтры (первести в серый, сделать сглаживание по медиане что-бы устранить "шум" камеры, найти координаты самой яркой точки в пределах координат ранее сохраненного ограниченного прямоугольника 100x100)

  3. нарисовать прямоугольник в пределах координат этой точки

Пункты 2. и 3. будут выполнятся для каждого кадра.

Тема не простая. Надо хорошо знать что вам нужно и что вы делаете.

READ ALSO
Spring Security Ошибка 403 “The server understood the request but refuses to authorize it.”

Spring Security Ошибка 403 “The server understood the request but refuses to authorize it.”

Есть класс User и enum Roles , содержащий РолиУстанавливаю параметры UserDetails в UserDetailsServiceImpl , также настроил конфигурацию Spring Security

136
java.awt.Robot не двигает курсор в Photoshop

java.awt.Robot не двигает курсор в Photoshop

Нужно, чтобы java могла двигать курсор в photoshopJava умеет двигать курсор и делает это нормально в остальных приложениях, но когда окно photoshop активно,...

127
Как Игроку обратиться к Карте в игре?

Как Игроку обратиться к Карте в игре?

В игре отрисовка и логика столкновений должны работать за счет этой карты

113
Беспорядочное чтение нативных данных

Беспорядочное чтение нативных данных

Пишу класс, который будет считывать нажатые клавиши только при активном окне Хрома:

113