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

smoke

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

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

  • Посещение

Сообщения, опубликованные пользователем smoke


  1. уточняю - машина на фотогорафии как расположена? если просто факт присутствия, независимо от пространственного расположения - то это, наверное, уже ближе к нейронным сетям. даже хорошо обученный классификатор для лица не во всех случаях находит на фотографии лицо (только примерно 70-80%).

    открываются ворота машина въезжает или выезжает. хочу отловить факт проезда или выезда. соответсвтвенно расположение либо машина сзади либа машина с переди.мысль использовать каскад Хаара.

    была мысль еще через детектор движения делать.

    можешь предложить более правильный способ с очень малым процентом ошибочных срабатываний или не срабатываний? я так понял у тебя был опыт работы с определением автомобиля в кадре?


  2. 1. Скачал ffmpeg.

    2. Поправил в ffopencv.cpp подключаемые либы на те, которые есть в скачанной ffmpeg.

    3. В cvcap_ffmpeg.cpp исправил название функции с cvCreateFileCapture_FFMPEG на cvCaptureFromFile_FFMPEG.

    4. В свойствах проекта ffopencv -> C|C++ -> Preprocessor -> Preprocessor Definitions добавил HAVE_FFMPEG и HAVE_FFMPEG_SWSCALE

    5. Скомпилировал ffopencv

    6. Перекомпилировал проект highgui

    7. В своём проекте добавил инклуды ffopencv.h и _highgui.h, а также ffopencv.lib

    8. Вызываю CvCapture *capture = cvCaptureFromFile_FFMPEG("c:\\video\\The Big Bang Theory (Season 3)\\the.big.bang.theory.s03e06.720p.hdtv.x264-ctu.mkv"); - проигрывается!

    9. Все твои url с камерой нет.

    Вот.

    нужно тоже было получить изображение с IP Camera. Мысли совпали и делал примерно так же как описал Nuzhny

    мометы которые были выявленны может комуто понадобится.Так как на момент написания камеры небыло тренировался на интернет ссылках с камер Аксис и Планет и с прочих других работающих по протоколу мжпег.

    *важно что бы связь с инетом была очень хорошая и позволяла смотреть запись в реальном

    *работа функции очень добгая уходит от 5 до 15 секунд что бы cvCreateFileCapture_FFMPEG подключилась к видео потоку

    *работает не со всеми ссылками это действительно так чаще всего это происходит если ссылка заканчиваетя на cgi или .mjpeg?compression=60 или прочие параметры, но это лечится простым дописыванием необходимого расширения например http://site/xxx/xxx/video.cgi?.mjpg или http://site/xxx/xxx/.mjpeg?compression=60&.mjpg и большенство ссылок становятся съедобными

    *время от времени происходит зависание видео и приходится перезапускать функцию cvCreateFileCapture_FFMPEG но это думаю происходит из-за недо статочного канала связи


  3. а кто-нибудь знает еще ресурсы кроме приведенного в первом посте где есть уже готовые классификаторы?

    нужно для распознования присутствия машины на фотографии. натренировал свой но он распознает максимум 20 машин из 100. эксперементы продолжаются, но может кто нибудь видел уже готовый?


  4. OpenCV 1.0 не поддерживает работу с несколькими камерами - сами разработчики на конференции Graphicon 2007 об этом говорили.

    Попробуй более новую версию библиотеки, возможно, что всё изменилось к лучшему.

    Всем огромное спасибо за ответы. Nuzhny прав. пересобрав все под OpenCV 2.0 все заработало. и выбор камеры можно осуществлять как я и думал подбором id. но это решение работает не всегда тоесть время от времени появляются сбои вида. есть две программы одна работает с одной камерой другая с другой. одна с идентификатором 0 другая 1. бывает что запустишь программу и та которая была с идентификатором 1 запускает программу как будто это идентификатор 0. Буду пробовать решение которое предложил Smorodov. непосредственно с функциями для работы несколькими камерами. Еще раз всем спасибо за помощь.


  5. Сейчас тоже пишу программу для нескольких камер и тестировал только с одной камерой.

    попробуйте захват делать в отдельных трэдах на каждую камеру, я именно так собирался делать

    так если в разных тредах делать захваты то суть проблемы от этого не изменится.

    я првильно понимаю что если к помьютеру подключено несколко камер не зависимо от того как их будем обрабатывать в одном потоке или в нескольких.

    и пустить цикл по фукнции инициализации то нам должны будут выдасться идентификаторы для всех камер подключенных к компьютеру.

    а у меня этого непроисходит. идентификторв сегда один. и выхватывает всегда одну камеру до других я не могу достучаться.


  6. Всем привет!

    Прошу помощи в следующем вопросе.

    в процессе разработки отлаживался на компьютере с одной камерой все работало.

    подключение камеры было функцией

    m_Camera = cvCreateCameraCapture(0);

    думал что когда будут еще камеры нужно будет заменить идентификатор на 1 или 2 и так далее

    в зависимости от количесва камер и все будет работать.

    Но когда появилась еще камера оказалось что я ошибался.

    тоесть нужно например на компьютере 2 камеры нужно что бы в одной программе было видео с одной камеры

    а в другой программе видео с другой камеры.

    пробовал написать тестовый пример


    int i = -1;
    while(i++)
    {
    m_Camera = cvCreateCameraCapture(i);

    if (m_Camera)
    {
    //выводим идентификатор
    }

    if (i == 10000)
    {
    break;
    }
    }
    [/codebox]

    но он всегда выдет 0 даже если подключено 2 камеры

    драйвера для камер стоят. в других программах видео видется с обоих.

    в директории с программой лежат файлы

    highgui100.dll

    cxcore100.dll

    libguide40.dll

    что упустил или чего не дочитал?

    может что еще положить надо ?

    и есть еще одна проблема.

    скопировал программу на ноутбук

    там стоит встроенная камера sony visual communication camera vgp-vcc6

    и когда запускаешь программу активация камеры проходит а вот картинка всегда черный квадрат. и изображение с камеры не появляется. в чем может быть проблема.

    все функции получения фрейма отрабатывают корректно. и возвражают уже черную картинку.

×