-
Количество публикаций
1 427 -
Зарегистрирован
-
Посещение
-
Days Won
176
Все публикации пользователя Nuzhny
-
Это всё я писал для OpenCV 1.1, которую компилировал с помощью MSVS 2005. Сейчас у меня установлена OpenCV 2.1 и MSVS 2010. Там уже другие манипуляции нужны.
-
Что значит "какие опции"? Я же писал: "В свойствах проека C++ -> Code Generation поставь для release использовать "Multi-threaded", а в debug - "Multi-threaded debug" После выбери release, скомпилируй и иди к соседу проверять. Debug конфигурация нужна только для отладки.
-
Должно помочь. 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 должны быть в самом конце списка.
-
Короче говоря, нашёл небольшое затирание памяти в версии 2.1. У себя исправил. Поставил svn, заапдейтился. Там есть 3 папки: branches, tags и trunk. Где лежат последние исходники, в которых можно исправлять и делать коммит?
-
А, понятно, спасибо. Единственно, моя авторизация на 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) ). Не очень понятно вообще зачем нужна эта строка.
-
Проблема в том, что чтение из файла идёт через wfv (класс CvCaptureAVI_VFW) - это устаревшая технология, оставшаяся в наследство от windows 3.1. Большие файлы с помощью неё не прочитаешь. С помощью небольших танцев с бубном можно задействовать захват через ffmpeg (класс CvCapture_FFMPEG).
-
Какая ОС?
-
Находим в кадре лица, человеческие фигуры, и т.д. и т.п
Nuzhny replied to Smorodov's topic in Обсуждение общих вопросов
Я и спрашиваю: на какой строке падает в отладчике при выполнении. -
Находим в кадре лица, человеческие фигуры, и т.д. и т.п
Nuzhny replied to Smorodov's topic in Обсуждение общих вопросов
В какой строке ошибка вылетает? -
1. Нет, надо потр..аться с перекомпилированием OpenCV, пересознанием его проектов.
-
CUDA SDK и toolkit поставил? nvcc.exe - это как раз компилятор в ассемблер видеокарты.
-
Зайди в исходники OpenCV: в файле cvcap.cpp есть функция cvCreateCameraCapture. В ней используется захват с камеры через DirectShow, если определён макрос HAVE_VIDEOINPUT. У меня в версии 2.1 он определён. Попробуй в отладчике зайти в эту функцию и проверь: создаётся ли DirectShow-камера с помощью функции cvCreateCameraCapture_DShow.
-
Какую версию OpenCV используешь?
-
Контуры, бинарная сегментация - выбирай на вкус.
-
Робот играет в бильярд (Willow Garage)
Nuzhny replied to Smorodov's topic in Обсуждение общих вопросов
Нравятся мне все эти взрослые игры с роботами. Сам бы с удовольствием попробовал. Но... Надо найти работодателя, который согласился бы ещё всё это оплачивать. -
В теории области прямоугольной формы ищутся с помощью преобразования Хафа. В 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);
-
В cvCalcEigenObjects надо подавать два изображения, а ты подаёшь два массива с изображениями - несоответствие. Если ты хочешь работать с первыми элементами массивов, то пиши так: cvCalcEigenObjects(N_Samples, img_load_ch1[0], eig_img[0], CV_EIGOBJ_NO_CALLBACK, 0, 0, &Tc, mean_img, EigenVals->data.fl);