Используя OpenCV для обнаружения кнопок одежды на листке бумаги

У меня нет знаний в машинном зрении, но мне было любопытно знать, как я мог пользоваться библиотекой OpenCV для достижения следующего:

У меня есть банка запасных кнопок, отсортированных в цвете, стиль и диаметр. По большей части они являются круговыми. Я равномерно рассеиваю их на части отчета, и при хорошем освещении, делаю снимок довольно высокого разрешения с Вашим средним цифровым фотоаппаратом. Как был бы, я заставил о разрезании этого изображения захватывать каждую кнопку индивидуально как отдельный объект / изображение?

Заранее спасибо.

5
задан Karan 15 July 2010 в 02:42
поделиться

3 ответа

Два возможных способа:

1) Использование преобразования Хафа для окружности. Вы запускаете какой-нибудь детектор краев (canny/sobel), а затем преобразование Хафа для окружностей. Вы получите круги.

2) Использование контуров Разделите кнопку и фон с помощью порогового преобразования. Определите контуры на этом пороговом изображении, и у вас есть кнопки!

Статьи, которые могут помочь:

Отказ от ответственности: Это ссылки на мой сайт.

4
ответ дан 14 December 2019 в 08:39
поделиться

Я думаю, самое простое, что вы можете попробовать: запустить детектор краев Canny и применить преобразование Хафа для обнаружения окружностей и создать отдельное изображение каждой из окружностей.

2
ответ дан 14 December 2019 в 08:39
поделиться

Я немного распознал блюда, и это сработало довольно хорошо. сделайте следующее:

Установите порог (кнопки должны быть ярче фона), чтобы оставить только кнопки,

затем cvFindContours

для каждого контура:

  • запустите cvFitEllipse, он вернет вам обе оси (a, б) подогнанного эллипса.
  • проверьте, что площадь эллипса PI a b похожа на площадь контура с помощью cvContourArea, а также что обе оси аналогичны a = b. (останутся только круги)
  • , тогда вы можете делать все, что вам нужно. printContour, используя cvPrintContour, используйте cvMinAreaRect2 для получения ограничивающего прямоугольника кнопки и т. д.

Преобразование Хафа также возможно, но оно намного дороже.

1
ответ дан 14 December 2019 в 08:39
поделиться
Другие вопросы по тегам:

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