@Lorem_Ipsum

Как определить время на аналоговых часах с помощью машинного зрения?

Задача: Определение времени (часа) с помощью фото с камеры смартфона на аналоговых часах с точностью до 3х часов (можно и лучше).
Условия:
1) Камера смарта не самая плохая, ориентир iphone 6 и тд. и средние и топовые решения на андроиде.
2) Часы одинаковые, по идее это будет картонный макет который у всех юзеров будет одинаковый и соответственно цвета стрелок и циферблата можно подбирать как угодно.
По данному вопросу я нашёл trackingjs который может определять то что нужно если ему подсунуть файл из opencv который правильно обучен. Сработает ли такой способ? Можно ли обучить такой файл? Будет ли достигнута нужная точность?
  • Вопрос задан
  • 414 просмотров
Пригласить эксперта
Ответы на вопрос 3
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
На макете циферблата наносите реперные метки чтобы удобно было выравнивать изображение.
Делаете съемку циферблата в течение 12 часов через каждую минуту - получаете набор опорных изображений - около 720 изображений соответствующих времени в течение 12-часового периода.

Теперь определяем время с помощью машинного зрения:
1. Делаем съемку часов.
2. Выравниваем изображение по реперным меткам, обрезаем, масштабируем, преобразуем в нужный формат для сравнивания с опорными изображениями.
3. Находим наиболее похожее изображение из нашего набора опорных изображений. Оно будет соответствовать времени на снимке.
Ответ написан
Комментировать
@rPman
Не надо вам тут нейронные сети и обучение, это как ходить в соседний магазин за хлебом, на вертолете, садясь на него в соседнем городе.

Часы это набор прямых и окружностей, с помощью opencv ищите их (т.е. векторизуйте изображение) затем выбирайте только те отрезки, которые похожи на часы (окружность риски часов, часовая и минутные стрелки, опционально цифры), таким образом вы поймете какие из линий - стрелки, а дальше либо через цифры, либо через ориентацию телефона (если цифр нет) определяйте где верх а где низ.
Ответ написан
Комментировать
2ord
@2ord
При помощи Hough Transform и OpenCV можно найти окружность и линии стрелок.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы