Перейти к содержимому
Compvision.ru
Dimondor

Подсчет объектов на конвейере

Recommended Posts

Есть задача подсчет объектов (около 100 разновидностей считается только один вид в текущем сеансе), на конвейере. Пишется все на winform vs2015, EMGU CV 3.2.0.2682. для разделения "слипшихся" контуров хотел использовать DistanceTransform, но результат все черное при любом изображении, при этом все остальные функции работают. Приложу пример кадров и результат бинаризации,  дайте совет как разделить объекты.

pict1.jpg

pict2.jpg

pict3.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

прошу прощения суть не в том, все происходит в движении, при попадании объекта в кадр он захватывается и ведется по венгерскому алгоритму, при этом контуры могут "плавать", каждый кадр о, обнаруженных объектах собирается простейшая информация, центр, площадь, длина, при пересечении линии счет идет, но если в кадр въехала длинная цепочка и она вся в кадр не влезла, вот тут и сложность как считать. Если изменить фильтры для более четкого выделения объекты "рассыпаются" в кучку мелких. Была мысль сделать разделение через  DistanceTransform, как в одном из советов про поиск контуров  камней тут на сайте, но эта функция не работает, ошибку не выдает и результата нет. Переписывал на c# пример из opencv 3.2 поиск контуров карт, не работает. Несколько вариантов еще есть, но сначала хочу сделать user control с выбором фильтров что то типа этого, но с выбором побольше. Поиграться с фильтрами сделать один поток слежения, а второй распознания и применять разные комбинации фильтров. 

, но с большими наворотами.

Да забыл дописать колебания контуров 10-15% поэтому считать всю площадь и делить не пойдет, большая погрешность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ни на что не претендую, но как обещал выкладываю, думаю новичкам для ознакомления сгодится.Вещь сырая, но рабочая, причесывать некогда. Подключение идет к ip камере по rtsp, для обычной вебки заменить на capture = new VideoCapture();

Probe1.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

запустил я значит, а там необработанное исключение типа system.typeinitializationexception, ругалось на строку "  this.Filters1 = new Filters.Filters();", в итоге вроде запустилась просто пустая форма. что я не так сделал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

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

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×