Комментарии 24
Можно про серидины хорд поподробнее? Похоже, что этот способ только для окружностей работает
Можно по подробней про магнитуды, как вы получили вот эту картинку?

Мне не ясно, как можно посчитать у обычной картинки магнитуду, т.к. она считается у комплексных чисел, насколько мне известно.
Заранее спасибо.

Мне не ясно, как можно посчитать у обычной картинки магнитуду, т.к. она считается у комплексных чисел, насколько мне известно.
Заранее спасибо.
Мне кажется, имеется в виду амплитуда градиента, т.е. корень из суммы квадратов градиентов в двух направлениях, как, например, тут: www.mathworks.com/help/images/ref/imgradient.html
В данном случае магнитуда градиента это просто модуль градиента. Корень квадратный из суммы квадратов векторов направления градиентов по X и Y. Короче, гипотенузу они считают: en.wikipedia.org/wiki/Hypot
Вычисление модуля градиента — это очень распространённая процедура при обработке изображений и детектировании границ.
Для уменьшения шума часто используют гауссово сглаживание. Вот, статья на тему:
habrahabr.ru/post/114489
Вычисление модуля градиента — это очень распространённая процедура при обработке изображений и детектировании границ.
Для уменьшения шума часто используют гауссово сглаживание. Вот, статья на тему:
habrahabr.ru/post/114489
Уже ответили, действительно неточность, это амплитуда градиента, у нас корень из суммы квадратов.
Зубчатое колесо в центре осталось нераспознанным.
Тоже сразу бросилось в глаза

Вот увеличенная и раскрашенная картинка, видно что в двух верхних секторах всего две прямые, а нам надо три. Внизу часть арки восстановили.


Android 4.4 обязательное требование у приложения на play? Можно понизить?
Понижу до 4.0, только google play медленно обновляется займет несколько часов. Есть еще простенькая игрушка на основе этого детекта, у нее требования с 4.0 и для win phone.
Можете сделать сравнение с готовыми реализациями? Например в OpenCV?
Если сравнивать с первоисточником то целевых изображениях результат не сильно отличается, в opencv я знаю про findContours, но он работает на бинарных изображениях, так что шансов у него немного, и HoughCircles но это не эллипсы.
Детектор границ Canny работает на чб изображении. Я выделял эллипсы достаточно просто: считал площадь (contourArea) замкнутого контура, описывал вокруг него эллипс (fitEllipse) и сравнивал значение их площадей. Если они близки, значит контур похож на эллипс.
У Вас приложение написано на Xamarin, плюс C++ библиотека для обработки изображения?
Работа отличная, особенно если учесть что все в реал-тайме на мобильном устройстве. Однако есть несколько замечаний и комментов.
>> Для дополнения реальности остается лишь восстановить положение плоскости и…
Для определения плоскости вам одной монетки не хватит. Да и двух может не хватить если смотреть на них под определенными углами. Т.е. три монетки, не на одной линии, (т.е. треугольником) должны быть видны, как минимум.
Линзу вы моделируете? Lens Distortion может быть очень значительный, особенно на недорогих камерафонах.
В вашем случае решается сложная задача — поиск границ эллипсов, а что если упростить и искать целые овальчики :)
В случае с колесами велосипеда конечно не прокатит, а в случае с монетками может и прокатить, они же более-менее однородного цвета.
Вот работа моих коллег, там они используют катибрационный паттерн с нарисованными кружочками чтобы потом калибровать положение камеры.
www.ee.oulu.fi/~jkannala/bmvc.html
Проблема клнечно в том что монетка неизвестного цвета, а значит не понятно что трешхолдить. Но можно конечно и выкрутиться.
>> Для дополнения реальности остается лишь восстановить положение плоскости и…
Для определения плоскости вам одной монетки не хватит. Да и двух может не хватить если смотреть на них под определенными углами. Т.е. три монетки, не на одной линии, (т.е. треугольником) должны быть видны, как минимум.
Линзу вы моделируете? Lens Distortion может быть очень значительный, особенно на недорогих камерафонах.
В вашем случае решается сложная задача — поиск границ эллипсов, а что если упростить и искать целые овальчики :)
В случае с колесами велосипеда конечно не прокатит, а в случае с монетками может и прокатить, они же более-менее однородного цвета.
Вот работа моих коллег, там они используют катибрационный паттерн с нарисованными кружочками чтобы потом калибровать положение камеры.
www.ee.oulu.fi/~jkannala/bmvc.html
Проблема клнечно в том что монетка неизвестного цвета, а значит не понятно что трешхолдить. Но можно конечно и выкрутиться.
:)
Не смотрели в сторону преобразования Хафа? en.wikipedia.org/?title=Hough_transform
Им тоже можно эллипсы выделять
Им тоже можно эллипсы выделять
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Детектор эллипсов в реальном времени