drakula 0 Жалоба Опубликовано January 25, 2012 Всем доброго вечера. Хочу поднять тему по выделению объектов, попадающих в кадр, от фона на видео. В данный момент я пишу программу, которая будет обнаруживать объекты, ранее не присутствующие на фоне. В библиотеке OpenCV я еще не слишком силен, как и в обработке изображений. И поэтому меня постоянно мучает вопрос - какими функциями OpenCV пользоваться C или C++( недавно обратил внимание еще и на Python))? Если искать примеры в интернете, то большинство использует IplImage, но в тоже время туториелы от OpenCV используют Mat. Другая проблема - алгоритм. На данный момент у меня получилось реализовать простейший алгоритм вычитания фона. То есть я считаю среднее значение фона и среднее значение кадра с объектом за некоторое время, нахожу их разность и бинаризую результат. Далее применяю морфологическую операцию размыкание для удаления шумов и нахожу контура с использованием простой аппроксимации. Данный алгоритм хоть и прост, но весьма не эффективен, поэтому хотелось бы узнать как можно по другому решить данную задачу, и какие средства в OpenCV для этого предоставлены. Заранее благодарен. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано January 26, 2012 Ответ на первый вопрос: как удобней, так и делай. А на второй. Пример find_obj.exe из OpenCV смотрел? Если нет, то посмотри, попробуй различные комбинации, которые задаются в командной строке. И ещё. Что значит "не эффективен"? Медленно работает? Неточно? Что-то ещё? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано January 26, 2012 есть blob tracking есть contour tracking есть даже non-rigid contour tracking есть что то типа movement estimate если ничего не известно об объекте, то наверно кроме вычитания фона ничего и нельзя придумать. http://kingpotter1990.bol.ucla.edu/snake/snake.html некоторые ссылки битые. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах