quosego
Пользователи-
Количество публикаций
60 -
Зарегистрирован
-
Посещение
-
Days Won
3
Все публикации пользователя quosego
-
Помойму такие вещи можно складировать в вике, например в разделе туториалы. В дальнейшем будет проще искать и возможно дорабатывать.
-
скачал, но проверить не смог, cv200d.dll некоректен - ошибка инициализации. А у Вас этот код под дебагом коректно работает?
-
Буду очень благодарен. А на счет того, что раньше все работало, я обманул - забыл, что изначально у меня для дебага стояла ссылка на библиотеки emgucv.
-
vs 2008 v9.0.30729SP и opencv 2.0
-
Тогда такое решение, конечно не красивое, но работает cvFindContours(Image, storage_img,&img_contour,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0)); cvZero(mask); for (contours!=0;contours=contours-h_next) { if ... //параметры нужных контуров объекта { CvPoint* p = (CvPoint*)cvGetSeqElem(contours,0); int total = contours->total; CvFillPoly(mask, &p, &total, 1, cvScalar(1,0,0,0)); } } cvMoments(mask,&moments)
-
Действительно, логичнее искать моменты для всего распознаваемого объекта, так точно будет меньше ошибок, но как это сделать я тоже не знаю. Пробовал так: cvFindContours( Image_1, storage_img,&img_contour,sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0)); CvSeq* q = cvCreateSeq(4620,sizeof(CvContour),sizeof(CvPoint),storage); for (contours!=0;contours=contours-h_next) { result = cvApproxPoly(... CvSeqPush(q,result); } cvMoments(q,&moments) ну так не работает...вопрос актуальный т.к. далеко не всегда объект можно описать одним внешним контуром, короче присоединяюсь к вопросу, неплохо бы разобраться.
-
Честно говоря, при работе с видеопотоком в реальном времени у меня тоже возникают иногда проблемы. Выглядит это так, как будто Opencv проскакивает функции, которые не успевает выполнить, хотя никаких эксепшенов не генерится.
-
Использовать cvCanny я думаю не стоит, из-за него только внутренние контуры появляются, да и для работы cvFindContours он совершенно не требуется. А если картинка плохого качества возможно стоит использовать адаптивный порог
-
а каким образом осуществляется поиск контуров для распознавания? конкретизируйте, вместе посмотрим
-
Пример простого алгоритма обнаружения объектов в видеопотоке с помощью directshow есть тут http://directshow.wonderu.com/motion_detector.
-
Честно говоря по этому примеру не понял. Используя cvDrawContours внешние и внутрен. контуры можно нарисовать разным цветом, но по какому значению можно понять внутрений это контур или внешний?
-
Спасибо, надо будет посмотреть на эти либы, еще один вопрос в догонку о конурах:как отличить внутренний от внешнего? Офф. ман полистал - не нашел
-
Именно так я и начал делать, за неимением др. идей, но слоев получается очень много - надеялся, что есть др. оптимальные пути решения, интуитивно чувствуется, что задачу можно решить проще