2016-09-13 2 views
1

Так я разрабатываю приложение, которое использует ионную камеру телефона для обнаружения кругов на ткани, как на картинке ниже: enter image description hereОбнаружение центров кругов из изображений камеры

Где максимальный размер 3х3 сетки и там 4 разных цвета (светло-голубой, темно-голубой, светло-зеленый и темно-зеленый). В принципе, я разбил проблему на 3 этапа:

  1. Получить центр каждого круга.
  2. Получить цвет в центре каждого круга
  3. Используя положения центра каждого круга, создать представление шаблона в виде 2d массива

Моя проблема заключается в выяснении лучший способ достичь шага 1. Я заглянул в Преобразование Хафа, и я не могу найти очень хорошие ресурсы для Javascript. Если есть более простой или лучший способ, чем использование преобразования Хью, я был бы очень благодарен за это.

+0

Могу ли я спросить, какова цель этого программного обеспечения? Если эти капли предназначены для обнаружения камерой, они очень плохие. Они едва круты. Искаженный, рассматриваемый под углом ... не очень хорош для преобразования Хафа. Вы должны использовать алгоритм маркировки и использовать свои центроиды. – Piglet

+0

Каждый узор представляет собой историю. Пользователь сканирует шаблон точки, и отображается шаблон, связанный с этой историей. –

+0

любая конкретная причина, по которой вы не используете обычный 2d-код? или использование разных форм вместо разных цветов также будет увеличивать надежность. – Piglet

ответ

1

Вы можете использовать сегментацию изображения с водоразделами алгоритмом, которая описывала в here

+0

Итак, вы связались с OpenCV. Является ли это совместимым с ионным/угловым? –

1

В этом типе изображения, вы можете сделать:

  1. Color пороговым для того, чтобы найти каждый шаблон
  2. (опционально) открытие + закрытие, чтобы немного почистить ваше изображение, если результат порога не идеальный.
  3. Маркировка подключенных компонентов (см. Алгоритм Union-Find) для разделения каждого компонента.
  4. Затем у вас есть все шаблоны, поэтому вы можете легко найти центры и цвета.
+0

Как бы это сделать в контексте углового/ионного? Какая библиотека/технология будет совместима с этим методом? –

+0

почти каждая библиотека обработки изображений должна поддерживать эти методы – Piglet

+0

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

Смежные вопросы