Выявить мелкие дефекты в контуре объектов

Я хочу соответствовать симметрии контуров объекта. Я пытался использовать matchShape(), computeDistance(), Humoments() из библиотеки opencv 3.0. Но ни один из них не близок к тому, что я хочу.

Ниже приведены изображения, над которыми я работаю.

Хорошая форма-1

Дефект

Я ожидаю получить наибольшее значение несимметрии для изображения-2(с именем Defected)

1 ответ

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

  1. Найти центроид
  2. Используйте PCA ( http://docs.opencv.org/master/d1/dee/tutorial_introduction_to_pca.html), чтобы найти основную ось
  3. Поверните фигуру так, чтобы главная ось указывала вверх
  4. В каждой строке подсчитайте количество пикселей по обе стороны от центра и сравните их (должна быть одна координата центра, возможно, с использованием медианного значения всех центров строк)

Вы можете настроить свои собственные пороги, чтобы соответствовать проблеме.

Другие вопросы по тегам