вступление

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

Вот среднесрочный проект:

Осмотр выводной рамки

Входные данные представляют собой изображение выводной рамки, а выходные данные должны включать:

(1) Количество и диаметр круглых отверстий

(2) Ширина всех отведений

(3) Угол наклона направляющей рамы

Пример изображения:

Введите изображение и отобразите на экране

  • Тестовое изображение: 103x67

  • используя матплотлиб

RGB2Gray и Gray2Binary

Определение соседства — отношение 4 соседей

Connected-component_labeling — алгоритм последовательной маркировки

идея алгоритма последовательной маркировки:

  1. Сканирование изображения слева направо, а затем сверху вниз

#Первое сканирование

2. Если значение пикселя равно 1, то Проверить соседей:

(1) Если соседние метки равны 0: создать новую метку

(2) Если одна из соседних меток не равна нулю:

  • метка соседа имеет такую ​​же метку: этот пиксель имеет ту же метку, что и его сосед
  • соседняя метка имеет другую метку: этот пиксель следует за самой маленькой меткой и записывает взаимосвязь между различными метками.
  • только одна соседняя метка имеет ненулевое значение: этот пиксель следует за ненулевой соседней меткой

(3) Замените метку, проверив взаимосвязь между метками.

#Второе сканирование

Результат