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

Nuzhny

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

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

  • Посещение

  • Days Won

    176

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


  1. Добрый всем день. Пытаюсь делать чтоб была работа Open CV c Ip камерами. Вот в инструкции которая написана в данной теме не совсем понятно как сделать 4,5 и 6 пункт.

    Если не сложно опишите процесс более подробно.

    Это всё я писал для OpenCV 1.1, которую компилировал с помощью MSVS 2005. Сейчас у меня установлена OpenCV 2.1 и MSVS 2010. Там уже другие манипуляции нужны.


  2. немного не ясно какие именно опции установить, если не трудно поясните. и как так что msvcr90d.dll больше не будет нужен :unsure:

    Что значит "какие опции"? Я же писал: "В свойствах проека C++ -> Code Generation поставь для release использовать "Multi-threaded", а в debug - "Multi-threaded debug"

    После выбери release, скомпилируй и иди к соседу проверять. Debug конфигурация нужна только для отладки.


  3. хм, не помогло.

    может с msvcr90d.dll (msvcr90.dll) что-то не то...эти библиотеки нужно копировать только в windows/system ?? далеее никаких действий??

    Должно помочь. msvcr90d.dll - это отладочная Microsoft visual C rut-time library. Если ты установишь требуемые опции, то она влинкуется в твоё приложение и msvcr90d.dll будет не нужна. Возможно, что тебе также понадобится перекомпилировать OpenCV с соответствующими опциями.

    Ну или поставляй с программой инсталлятор, ссылку на который дал Smorodov. Многие так делают.


  4. Кинь cxcore210d.dll в папку к своему exe.

    debug или release выбирается в зависимости от твоих потребностей. В большинстве случаев нужен release. Если ты хочешь в отладчике посмотреть, что происходит внутри OpenCV, то используй debug (но при этом будет тормозить).


  5. Ну, я версию 2.1 компилировал как раз на такой конфигурации. Всё нормально.

    back_inserter - это вообще из стандартной stl библиотеки.

    Сдаётся мне, что ты неправильно настроил пути для инклудов. Пути к OpenCV должны быть в самом конце списка.


  6. А, понятно, спасибо.

    Единственно, моя авторизация на sourceforge не позволяет мне делать commit.

    Если что, в файле grfmt_bmp.cpp в функции bool BmpDecoder::readData( Mat& img ) есть строки:

    AutoBuffer<uchar> _src, _bgr;

    if( (m_bpp != 24 || !color) )

    _src.allocate(src_pitch + 32);

    Если открываем большую bmp, то памяти по-умолчанию в _src не хватает и происходит затирание памяти. По-хорошему надо просто убрать строку if( (m_bpp != 24 || !color) ). Не очень понятно вообще зачем нужна эта строка.


  7. Короче говоря, нашёл небольшое затирание памяти в версии 2.1. У себя исправил.

    Поставил svn, заапдейтился. Там есть 3 папки: branches, tags и trunk. Где лежат последние исходники, в которых можно исправлять и делать коммит?


  8. Семерка

    Проблема в том, что чтение из файла идёт через wfv (класс CvCaptureAVI_VFW) - это устаревшая технология, оставшаяся в наследство от windows 3.1. Большие файлы с помощью неё не прочитаешь. С помощью небольших танцев с бубном можно задействовать захват через ffmpeg (класс CvCapture_FFMPEG).


  9. Зайди в исходники OpenCV: в файле cvcap.cpp есть функция cvCreateCameraCapture. В ней используется захват с камеры через DirectShow, если определён макрос HAVE_VIDEOINPUT. У меня в версии 2.1 он определён. Попробуй в отладчике зайти в эту функцию и проверь: создаётся ли DirectShow-камера с помощью функции cvCreateCameraCapture_DShow.

×