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

RinOS

Пользователи
  • Количество публикаций

    99
  • Зарегистрирован

  • Посещение

  • Days Won

    8

Все публикации пользователя RinOS

  1. Тренировка каскадов Хаара

    Всем привет! Пытался обучать классификатор Хаара, использовал haarkit. Но вышло как то не очень... Почему то детектируется фон, Куча разноцветных кружочков) Это значит что должно быть столько картинок (7000, 3000)? и причем у положительных должны быть выделены объекты типа: ? http://www.iem.pw.edu.pl/~domanskj/haarkit.rar
  2. Трекинг объектов.

    В самом деле так считате? Хм... как по мне так это один большой тормоз, кадры по секунде обрабатывает.
  3. Трекинг объектов.

    Нашел отличную реализацию, трекинга объектов спешу с вами поделиться. Смотрите вложение. Есть основные 4 функции cvLabel, cvFilterByArea, cvUpdateTracks, cvRenderTracks; В cvLabel передается сегментированное изображение, функция назначает белым пятнам(blob), каждому свой номер. (как сегментировать решаем сами, в примере осуществляется поиск красного квадрата) cvFilterByArea удаляет blob-ы которые не подходят по площади. cvUpdateTracks собственно сам трекинг. cvRenderTracks отображение blob-ов. Проект расположен тут: http://code.google.com/p/cvblob/ BlobTrack.rar
  4. Отключить вывод ошибок

    Когда происходит какая либо ошибка в OpenCV, выскакивает окошко (к примеру): Нельзя ли как ни будь отключить их? А в идеале работать с исключениями try catch.
  5. Отключить вывод ошибок

    Все таки можно отключать), без перекомпиляции cvSetErrMode(CV_ErrModeSilent); Нашел ответ в другом топике)
  6. Трекинг объектов.

    Посмотри еще Шаблоны Движения: http://www.compvision.ru/forum/index.php?showtopic=17 Очень полезная штука. Хотя как полноценно прикрутить трекинг объектов средствами OpenCV, я не придумал... Если кто подскажет буду очень благодарен.
  7. Отключить вывод ошибок

    Пытался перекомпилировать посыпались ошибки: Так же не получилось найти cvd.lib, cxcored.lib.
  8. HOG OpenCV 1.20

    Что то я даже не понял как peopledetect работает... Запустил peopledetect.exe с параметром, (передал картинку с изображением человека) peopledetect задумался на секунду и просто показал мне эту картинку... Что я не так делал?
  9. Работа с камерами

    О сколько нам отрытий чудных... Совершенно случайно вместо cvCreateCameraCapture использовал cvCaptureFromCAM. И мне выдалось сообщение типа Axis Video not initialisation. И тут меня осенило В общем полез в GraphEdit настраивать "Axis Video Capture Driver", соединение с камерой Axis. И к моему глубочайшему удивлению мне удалось соедениться с камерой, вот так: Capture = cvCaptureFromCAM(0); Вот только возник другой вопрос, где храняться настройки и можно ли как то использовать больше одной камеры...
  10. Ошибка с cvReleaseCapture

    А знаете ли вы... Есть код: CvCapture *capture = cvCreateFileCapture("1.avi"); IplImage *img; for (int i = 0; i <= 100; i++) { img = cvQueryFrame(capture); cvShowImage("1", img); cvWaitKey(10); } if (capture) cvReleaseCapture(&capture); if (img) cvReleaseImage(&img); // Вот здесь произойдет ошибка. т.к. внутренности img очистил cvReleaseCapture, но указатель ссылающийся в никуда остался) по этому выполниться cvReleaseImage(&img) и произойдет ошибка. Будьте осторожны сам ломал голову над этим.
  11. Только не понятно, как еще можно использовать кроме как рисовать персонажей на маркерах) Как еще можно использовать)?
  12. Как будешь получать изображения? Камера будет висеть на дисплеем? Для начала я бы сделал картинки с изображением каждой цифры.
  13. Работа с камерами

    Вот так получаю jpg с IP камеры #include <urlmon.h> #include <wininet.h> IplImage* QueryFrame(char *sourceurl, AnsiString path) { try { DeleteUrlCacheEntry(PChar(sourceurl)); if (image) cvReleaseImage(&image); char* dstfile = AnsiString(path).c_str(); if (!(URLDownloadToFile(NULL, sourceurl, dstfile, 0, NULL) == S_OK)) return 0; image = cvLoadImage(dstfile, 1); return image; } catch (...) { return 0; } }
  14. Всем привет! Есть код: void PyrSegment( IplImage* src, IplImage* dst ) { CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* comp = NULL; cvPyrSegmentation( src, dst, storage, &comp, 4, 200, 50 ); int n_comp = comp->total; for( int i=0; i<n_comp; i++ ) { CvConnectedComp* cc = (CvConnectedComp*) cvGetSeqElem( comp, i ); do_something_with( cc ); } cvReleaseMemStorage( &storage ); } ... IplImage *image = cvLoadImage("1.jpg"); IplImage *out = cvCreateImage(cvSize(image->width, image->height), image->depth, image->nChannels); PyrSegment(image, out); Взял из книжки на строке с cvPyrSegmentation выдает ошибку has a bad argument, какие же ей аргументы передовать?
  15. Работа с камерами

    Возможно что то не так сделал... или у автора статьи OpenCV и IP Axis, по другому сделано. В общем я подумаю над этим)
  16. Работа с камерами

    Через жесткий диск обмен это долго) Можно к примеру загрузить в буфер, но вот проблема как из буфера в IplImage )?
  17. Работа с камерами

    В общем один из вариантов, получения видео такой: С помощью DirectShow, исключительно для камер Axis для других не пробывал. Скачиваем и устанавниваем Axis Video Capture Driver, в GraphEdit добавляем Axis MJPEG Capture Filter и выстраиваем следующую схему: После настраиваем Axis MJPEG Capture Filter: Проблема в том что я незнаю, как эту схему повторить для OpenCV, что бы просто работать с CvCapture, или хотя бы получать изображения как очередь IplImage. К тому же выходное видео имеет формат ASF. Что усложняет задачу. Другой способ более универсальный заключается в том что получать изображения в jpg, уж это умеют делать все камеры http://webcam.oii.ox.ac.uk/jpg/image.jpg Т.к. с C++ я пока на Вы, подскажите пожалуйста как просто получить файл по HTTP. Можно примерчик)
  18. Интересная функция cvRemap

    Всем привет! В общем нашел такую интересную функцию cvRemap, но что то особо не понял ка она действует, хотя примерчик накатал cvNamedWindow("MyWnd", CV_WINDOW_AUTOSIZE); cvNamedWindow("MyWnd2", CV_WINDOW_AUTOSIZE); IplImage *src = cvLoadImage("1.jpg"); IplImage *dst = cvCreateImage(cvSize(src->width, src->height), src->depth, src->nChannels); IplImage *mapx = cvCreateImage(cvSize(src->width, src->height), IPL_DEPTH_32F, 1); IplImage *mapy = cvCreateImage(cvSize(src->width, src->height), IPL_DEPTH_32F, 1); cvZero(mapx); cvZero(mapy); for (int i = 0; i < mapx->width; i++) { for (int j = 0; j < mapx->height; j++) { cvSetReal2D(mapx, j, i, i+sin(j)); } } for (int i = 0; i < mapy->width; i++) { for (int j = 0; j < mapy->height; j++) { cvSetReal2D(mapy, j, i, j+sin(i)); } } cvRemap(src, dst, mapx, mapy, CV_INTER_LINEAR, cvScalarAll(0)); cvShowImage("MyWnd", src); cvShowImage("MyWnd2", dst); cvWaitKey(0);
  19. Работа с камерами

    Вот сдесь: http://www.rainsoft.de/projects/ffmpeg_opencv.html пишут как включить поддержку FFMPEG в OpenCV, но под линукс(
  20. Работа с камерами

    Закомментировал в коде #ifdef HAVE_FFMPEG #ifdef HAVE_FFMPEG CvCapture* cvCreateFileCapture_FFMPEG (const char* filename); CvVideoWriter* cvCreateVideoWriter_FFMPEG ( const char* filename, int fourcc, double fps, CvSize frameSize, int is_color ); #endif Линкер начал писать [Linker Error] Error: Unresolved external 'cvCreateFileCapture_FFMPEG(const char *)' referenced from C:\URL CAM\UNIT1.OBJ
  21. Работа с камерами

    На сайтах пишут что нужно перекомпилировать с FFMPEG... CvCapture *capture = cvCreateFileCapture_FFMPEG("http://axis-cam/video.mjpg");
  22. Многопоточность и OpenCV

    Да такая идея, посещала меня) Ну это на крайний случай))
  23. Как прикрутить OpenCV к билдеру?

    ясно... эти бибилиотеки настойчиво требует ffopencv.h...
  24. Многопоточность и OpenCV

    Мда...) в одной функции memstorage был объявлен как статик Классно) подумаю над тем что бы сделать через интерфейс) Спасибо!
  25. Как прикрутить OpenCV к билдеру?

    В папке C:\Program Files\OpenCV\otherlibs\_graphics\libC:\Program Files\OpenCV\otherlibs\_graphics\lib, есть странные библиотеки с расширением *.a, к примеру: libavcodec.a. С помощью LibConverter выложенного здесь, конвертировать не получилось. Выдает ошибку: *********************** Файл:OMFlibavcodec.lib ERROR: COFF error: libavcodec.lib (coffread.cpp, 1313) : index into non-existant long names table COFF to OMF Converter Version 1.0.0.74 Copyright © 1999, 2000 Inprise Corporation Конвертация файла окончена. *********************** Что делать)?
×