Jump to content
Compvision.ru

al072

Пользователи
  • Content count

    59
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by al072

  1. Nuzhny, понял. Как на счет TBB. Есть шансы? Поддержка TBB в opencv 2.4.11 есть по умолчанию или необходимо както подключать TBB дополнительно? Запустил конфигуратор CMake. и после конфигурации увидел поддержку OpenCL. Other third-party libraries: Use IPP: NO Use Eigen: NO Use TBB: YES (ver 4.4 interface 9002) Use OpenMP: NO Use GCD NO Use Concurrency NO Use C=: NO Use Cuda: NO Use OpenCL: YES OpenCL: Version: dynamic Include path: C:/Program Files/OpenCV 2.4.1/opencv/sources/3rdparty/include/opencl/1.2 Use AMD FFT: NO Use AMD BLAS: NO Значит ли это что есть шанс завести OpenCL или данная информация не о чем не говорит?
  2. Тип ЦП DualCore Intel Core i3 350M, 2266 MHz (17 x 133) Тип видеопроцессора Intel(R) HD Graphics (Core i3)
  3. У меня простойноутбук hp pavillion dv5 с Intel (Hd) Graphics. На такой встроенной слабой видеокарте возможно будет использовать OpenCL или CUDA?
  4. Плывет изображение

    Ок. Спасибо. Буду пробовать..
  5. Плывет изображение

    Извиняюсь за глупый вопрос, но пока не могу понять каким образом разноцветные ползающие змейки связаны с вопросом распознавания лица? Посмотрел код, в частности класс CTracker. Каким образом его можно использовать для задачи распознавания лиц? Его можно использовать вместо model->predict()?
  6. Ok спасибо. Ручками это конечно пугает..
  7. Плывет изображение

    smorodov, не совсем понял что имеется ввиду под определением 1) инициализировать/апдейтить трекинг 2) что подразумевается под "назначаются метки трекам"? 3) как определяем что трек сорвался? Спасибо.
  8. Добрый день господа! Помогите плиз. Дело в том что в стандартной библиотеке для ip камеры есть функция которая получает изображение в формате char** вот эта функция: GetVideo(handle, (char**)&Frame, &Len,fmt,&Speed); Мне необходимо сконвертировать изображение в cv::Mat, сделать обработку, и затем сконвертировать обратно в char**. Как это правильно сделать? Пробую вот так: cameraFrame = cv::Mat(h, w, CV_8UC1, *Frame->data); Но при выводе imshow("namewindow",cameraFrame); выводиться черный квадрат..
  9. Пробую вот таким образом добавить изображение в Mat cv::Mat cameraFrame = cv::Mat(h, w, CV_8UC3, Frame->data); Как теперь сделать конвертацию? Из YUYV422 в BGR/BGRA?
  10. Плывет изображение

    Да ffmpeg вернул. С mjpeg потоком у меня изначально были такие траблы. Как с выключенным так и с включенным ffmpeg. По этому я перешел на rtsp h.264.
  11. Плывет изображение

    Mjpeg выдавать может, но с ним вообще жуткие тормоза. Очень низкая скорость при VideoCapture.open(mjpeg stream). Хотя если открываю тот же поток в браузере или vlc летает как сумасшедший. Без задержек и проблем.
  12. Плывет изображение

    На просторах интернета нашел описание что подобные проблемы могут быть вызваны неправильной работой ffmpeg в opencv. Попробовал пересобрать библиотеку без поддержки ffmpeg, не помогло. Помойму стало еще больше тормозить и проц грузить... Проблема остается открытой..
  13. Всем спасибо за коментарии. С камеры в (char**)&Frame изображение передается в формате YUYV422. Структура Frame включает в себя массив char data[0], в него собственно и записываются пиксели изображения. Подскажите пожалуйста как сделать следующую конвертацию: char data[0] (формат YUYV422) -> cv::Mat (формат BGR/BGRA) -> char data[0] (формат YUYV422)
  14. Плывет изображение

    Добрый вечер! 1) Копаю проблему дальше.. Изображение плывет из-за следующих ошибок, в каком месте кода они возникают я не пойму, так как не могу их перехватить, но судя по всему ошибки возникают при чтении фрейма videoCapture >> cameraFrame; В проекте MFC я эти ошибки не вижу, но если запустить тот же самый код в консольном проекте, то в консольном окне в момент когда плывет изображение появляются ошибки (скриншоты прикрепил). Может ктонибудь сказать в чем может быть проблема? 2) Nuzhny, я пишу проект в VS2010, там нет std::thread. есть варианты реализации очереди для более старой версии языка? Думаю что от проблемы с искажением изображения можно будет уйти без очереди потоков, если получиться разобраться из-за чего сыпятся ошибки и что они означают..
  15. Плывет изображение

    Спасибо за рекомендации. Тогда пойду путем номер 1. Я так понимаю что в C++ MFC нет стандартных классов для реализации очереди потоков? Можете посоветовать каким образом лучше это реализовать?
  16. Плывет изображение

    Nuzhny, ваш совет помог сделать вывод изображения на форму намного стабильнее! В процессе когда идет распознавание лица перестало тормозить видео. Когда собираю до 100 лиц в коллекцию работает нормально, при 110-120 лицах изображение начинает плыть( то есть добавляю три человека, на каждого человека по 30 лиц, запускаю распознавание, все работает. Затем добавляю 4-го человека и еще 30 лиц, и спустя определенное время (10-20 секунд) начинает опять плыть изображение. Еще странное значение выдается по fps камеры. В настройках самой камеры выставлено: 15 fps, 1m bitrate, resolution 640x480, key frame interval 60 Следующий код выдает значение fps = 90000. int fps = static_cast<int>(capture.get(CV_CAP_PROP_FPS)); if (fps < 1) { fps = 25; } Мне пришлось вручную выставлять значение fps = 15 в коде, так как выдаваемое функцией capture.get(CV_CAP_PROP_FPS) значение не реальное. Ведь fps не может быть 90000 правильно? Или я ошибаюсь? Когда в настройках камеры выставляю значение fps =25, изображение начинает плыть даже при простом выводе на форму, без распознавания. Не могу понять связь между тем, что до 100 лиц программа работает нормально, после 100 лиц начинает плыть. Разве 10-20 дополнительных лиц могут так задерживать процесс обработки изображения? И даже если бы начинались задержки, для этого и был добавлен код getTickcount() чтобы синхронизировать работу цикла с помощью автоматически регулируемого if (cv::waitKey(waitTime) > 0) Может еще какие мысли у кого будут по данной проблеме?
  17. Плывет изображение

    Большое спасибо за пример. Вечером буду пробовать. Отпишусь по результатам.
  18. Плывет изображение

    Nuzhny, можете подсказать как выставить задержку в зависимости от загрузки?
  19. Плывет изображение

    Вообщем начал исследовать проблему дальше и заметил следующее. Если на этапе сбора лиц для распознавания, собрать например 10-15 лиц на одного человека, то на этапе распознавания картинка не плывет. Если собрать 50 и более лиц, то на этапе когда включаю распознавание, начинаются описанные тормоза и искажение изображения. Возможно функция predict начинает дольше искать соответствия и начинается рассинхрон.. Установка пакета кодеков (Mega K-lite kodec pack) c настройками по дефолту не помогла. Господа подскажите плиз в чем может быть проблема?
  20. Плывет изображение

    В какую часть кода это необходимо вставить?
  21. Плывет изображение

    Речь идет о кодеках на видеокарту ноутбука? Куда эти кодеки необходимо устанавливать? Или надо какимто образом их к проекту прикручивать? Пробовал методом исключения. 1. Режим сбора лиц. Работает нормально. 2. Режим определения лиц. Работает нормально. 3. В куске кода где идет распознавание лица начинаются проблемы. Где именно не могу диагностировать, так как программа не вылетает и какие либо явные ошибки не появляются. Сперва думал что проблемы в методе отрисовки изображения на форме, но потом начал тестировать стандартный imshow. результат такойже, изображение плывет.
  22. Всем доброго времени суток! Уважаемые господа форумчане, нужен ваш совет каким путем пойти чтобы не потратить даром времени и не наломать дров. Адаптирую программу для распознавания лиц из книги Mastering OpenCV глава 8 под свои нужды. Хочу чтобы появилась возможность сохранять модель распознавания лиц, и в любой момент после перезапуска программы в нее можно было добавить новые лица, метки или удалить старые. На данный момент нашел способ который сохраняет модель в файл и загружает ее из файла, но в моем случае это не подходит, так как если после перезапуска программы я вновь начну обучать модель, а затем сохранять ее в ранее созданный файл, все старые данные удаляться и запишеться только текущая тренированная модель: Ptr<FaceRecognizer> model = createEigenFaceRecognizer(); model->train(array of images,array of lables); model->save("C:\\eigendataset.yml"); model->load("C:\\eigendataset.yml"); Прошу посоветовать оптимальный способ для добавления или удаления лиц из файла eigendataset.yml Или может существует более правильный способ для онлайн тренировки модели с последующем сохранением, изменением и загрузкой? Заранее благодарю за советы.
  23. Плывет изображение

    Нет, если оставить просто вывод видео на экран с камеры, то работает быстро без проблем не тормозит. Но как только включается функция распознавания, начинаются проблемы. Похоже на то, что проблема в камере ( я использую Foscam 9831P) и rtsp видеопоток (h264, 15 fps, 640x480, 1mb bitrate). Пробовал переключать на substream (mjpeg), но почемуто с mjpeg вообще начинаются жесткие тормоза, причем просто при выводе изображения без обработки. Когда использую встроенную в ноутбук web камеру, подобных проблем не возникает. Smorodov, если возможная проблема в кодеках, то в какую сторону копать?
  24. Только жаль она для Web и на JSF, а не на С++. Читал про более серьезные реализации: OpenCV + ASM AAM или 3d modeling. Кто нибудь пробовал применять на практике?
  25. Smorodov, потестировал примеры которые вы привели по ссылке. Также сравнил их с примером из книги. По большому счету результаты распознавания одинаковы. В процессе выяснил, что наиболее корректно и надежно работает алгоритм бинарных хистограмм.
×