Dimondor 0 Жалоба Опубликовано June 2, 2017 Есть задача подсчет объектов (около 100 разновидностей считается только один вид в текущем сеансе), на конвейере. Пишется все на winform vs2015, EMGU CV 3.2.0.2682. для разделения "слипшихся" контуров хотел использовать DistanceTransform, но результат все черное при любом изображении, при этом все остальные функции работают. Приложу пример кадров и результат бинаризации, дайте совет как разделить объекты. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
2expres 7 Жалоба Опубликовано June 2, 2017 Попробуй решить через площадь. Считай количество белых пикселей. Зная сколько пикселей в одном изделии легко считается количество на изображении. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Dimondor 0 Жалоба Опубликовано June 2, 2017 прошу прощения суть не в том, все происходит в движении, при попадании объекта в кадр он захватывается и ведется по венгерскому алгоритму, при этом контуры могут "плавать", каждый кадр о, обнаруженных объектах собирается простейшая информация, центр, площадь, длина, при пересечении линии счет идет, но если в кадр въехала длинная цепочка и она вся в кадр не влезла, вот тут и сложность как считать. Если изменить фильтры для более четкого выделения объекты "рассыпаются" в кучку мелких. Была мысль сделать разделение через DistanceTransform, как в одном из советов про поиск контуров камней тут на сайте, но эта функция не работает, ошибку не выдает и результата нет. Переписывал на c# пример из opencv 3.2 поиск контуров карт, не работает. Несколько вариантов еще есть, но сначала хочу сделать user control с выбором фильтров что то типа этого, но с выбором побольше. Поиграться с фильтрами сделать один поток слежения, а второй распознания и применять разные комбинации фильтров. , но с большими наворотами. Да забыл дописать колебания контуров 10-15% поэтому считать всю площадь и делить не пойдет, большая погрешность. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Dimondor 0 Жалоба Опубликовано August 21, 2017 Ни на что не претендую, но как обещал выкладываю, думаю новичкам для ознакомления сгодится.Вещь сырая, но рабочая, причесывать некогда. Подключение идет к ip камере по rtsp, для обычной вебки заменить на capture = new VideoCapture(); Probe1.rar Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
dedeuko23 0 Жалоба Опубликовано July 6, 2018 запустил я значит, а там необработанное исключение типа system.typeinitializationexception, ругалось на строку " this.Filters1 = new Filters.Filters();", в итоге вроде запустилась просто пустая форма. что я не так сделал? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах