-
Количество публикаций
1 427 -
Зарегистрирован
-
Посещение
-
Days Won
176
Сообщения, опубликованные пользователем Nuzhny
-
-
Добрый всем день. Пытаюсь делать чтоб была работа Open CV c Ip камерами. Вот в инструкции которая написана в данной теме не совсем понятно как сделать 4,5 и 6 пункт.Если не сложно опишите процесс более подробно.
Это всё я писал для OpenCV 1.1, которую компилировал с помощью MSVS 2005. Сейчас у меня установлена OpenCV 2.1 и MSVS 2010. Там уже другие манипуляции нужны.
-
немного не ясно какие именно опции установить, если не трудно поясните. и как так что msvcr90d.dll больше не будет нуженЧто значит "какие опции"? Я же писал: "В свойствах проека C++ -> Code Generation поставь для release использовать "Multi-threaded", а в debug - "Multi-threaded debug"
После выбери release, скомпилируй и иди к соседу проверять. Debug конфигурация нужна только для отладки.
-
хм, не помогло.может с msvcr90d.dll (msvcr90.dll) что-то не то...эти библиотеки нужно копировать только в windows/system ?? далеее никаких действий??
Должно помочь. msvcr90d.dll - это отладочная Microsoft visual C rut-time library. Если ты установишь требуемые опции, то она влинкуется в твоё приложение и msvcr90d.dll будет не нужна. Возможно, что тебе также понадобится перекомпилировать OpenCV с соответствующими опциями.
Ну или поставляй с программой инсталлятор, ссылку на который дал Smorodov. Многие так делают.
-
В свойствах проека C++ -> Code Generation поставь для release использовать "Multi-threaded", а в debug - "Multi-threaded debug"
-
Кинь cxcore210d.dll в папку к своему exe.
debug или release выбирается в зависимости от твоих потребностей. В большинстве случаев нужен release. Если ты хочешь в отладчике посмотреть, что происходит внутри OpenCV, то используй debug (но при этом будет тормозить).
-
Ну, я версию 2.1 компилировал как раз на такой конфигурации. Всё нормально.
back_inserter - это вообще из стандартной stl библиотеки.
Сдаётся мне, что ты неправильно настроил пути для инклудов. Пути к OpenCV должны быть в самом конце списка.
-
А, понятно, спасибо.
Единственно, моя авторизация на 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) ). Не очень понятно вообще зачем нужна эта строка.
-
Короче говоря, нашёл небольшое затирание памяти в версии 2.1. У себя исправил.
Поставил svn, заапдейтился. Там есть 3 папки: branches, tags и trunk. Где лежат последние исходники, в которых можно исправлять и делать коммит?
-
СемеркаПроблема в том, что чтение из файла идёт через wfv (класс CvCaptureAVI_VFW) - это устаревшая технология, оставшаяся в наследство от windows 3.1. Большие файлы с помощью неё не прочитаешь. С помощью небольших танцев с бубном можно задействовать захват через ffmpeg (класс CvCapture_FFMPEG).
-
Выложи весь код.
-
Какая ОС?
-
Я и спрашиваю: на какой строке падает в отладчике при выполнении.
-
В какой строке ошибка вылетает?
-
1. Нет, надо потр..аться с перекомпилированием OpenCV, пересознанием его проектов.
-
CUDA SDK и toolkit поставил? nvcc.exe - это как раз компилятор в ассемблер видеокарты.
-
Зайди в исходники OpenCV: в файле cvcap.cpp есть функция cvCreateCameraCapture. В ней используется захват с камеры через DirectShow, если определён макрос HAVE_VIDEOINPUT. У меня в версии 2.1 он определён. Попробуй в отладчике зайти в эту функцию и проверь: создаётся ли DirectShow-камера с помощью функции cvCreateCameraCapture_DShow.
-
Какую версию OpenCV используешь?
-
Контуры, бинарная сегментация - выбирай на вкус.
-
Нравятся мне все эти взрослые игры с роботами. Сам бы с удовольствием попробовал. Но... Надо найти работодателя, который согласился бы ещё всё это оплачивать.
-
В теории области прямоугольной формы ищутся с помощью преобразования Хафа. В OpenCV есть примеры.
-
А вейвлет-фильтрацию в Матлабе не смотрел? Может устроит?
-
Исходные данные приведи. Что у тебя есть: HDC, HBITMAP?
-
Создай изображение через cvCreateImage и вызови GetDIBBits в буфер этого изображения (переменная imageData).
-
А, там надо подавать С-массив. Понятно.
В твоём коде лишний вызов: img_load_ch1=new IplImage;
В моём можно заменить deque на vector, а в вызове поставить:
cvCalcEigenObjects(N_Samples, &img_load_ch1[0], &eig_img[0], CV_EIGOBJ_NO_CALLBACK, 0, 0, &Tc, mean_img, EigenVals->data.fl);
Работа с камерами
в OpenCV
Опубликовано · Report reply
Держи: OpenCV_2.1_ffmpeg