Технический форум по робототехнике.
amdei » 02 сен 2009, 03:15
2Frimen:
С детектором лиц и каскадами вроде разобрался.
Кому интересно могу выложить простенький код и всё объяснить!
Давай делись!
Чего спрашиваешь!!!
L1GhTeR » 12 сен 2009, 18:53
Помогите плз.
Сделал всё так, как написано в первом уроке. При построении выдаёт ошибку:"Приложению не удалось запуститься, поскольку cxcore100.dll не был найден. Повторная установка приложения может исправить эту проблему".
Пробовал переустанавливать, устанавливал в разных ОС (Windows 7 и Windows Vista) устанавливал на другой комп, ничего не помогает.
Причём cxcore100.dll присутствует в папке C:\Program Files\OpenCV\bin.
Duhas » 12 сен 2009, 18:54
скопируй его в папку с ехе-шником как вариант ..
L1GhTeR » 12 сен 2009, 19:07
Скопировал все файлы которые лежали в C:\Program Files\OpenCV\bin. Теперь выдаёт другую ошибку см.скрин.
- Вложения
-
Slesh » 23 сен 2009, 17:42
Так в ошибке написано, что в функцию svLoadImage передана пустая строка (или указатель с значением NULL)
Headmast » 14 фев 2010, 00:39
L1GhTeR запускай студию с правами администратора, это должно помочь)
Frimen » 12 мар 2010, 20:38
Ктонибуть пытался сделать видео захват с камеры при помощи OpenCV на Linux ?
Может кто знает как работать с видео при помощи OpenCV на Linux ?
=DeaD= » 12 мар 2010, 20:39
Там подсистема video4linux за это отвечает вроде, а что, кучи примеров в инете мало? Что именно у вас не получилось - напишите, тогда глядишь и советом помогут. На форуме Vooon вроде с этим начинал заниматься.
Frimen » 12 мар 2010, 23:40
Пытаюсь запустить простейшее приложение выводящая на экран видео.
- Код: Выделить всё • Развернуть
#include "highgui.h"
int main( )
{
cvNamedWindow( "AVI Video", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( "test.avi" );
IplImage* frame;
while(1)
{
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( "AVI Video", frame );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "AVI Video" );
}
Компилирую при помощи gcc
- Код: Выделить всё • Развернуть
gcc video.c -o video -L/путь к библиотекам -lhighgui -I/Путь к h файлам
Во общем компиляция проходит успешно, однако после попытки запуска приложения ничего не происходит. Консоль как бы исполняет приложение и всё.
Может кто знает как заставить работать данное приложение на Linux ?
Добавлено спустя 2 часа 48 минут 27 секунд:Вообщем мне удалось получить с помощю OpenCV видео захват в Linux и вывести его в окно. Но почемуто это работает только для одной камеры. У меня есть две web-камеры одна Genius, а вторяа D-Link. С камеры Genius идёт видео захват, а с D-Link не идёт.
Для захвата видео в программе использовал функцию:
- Код: Выделить всё • Развернуть
// index - номер устройства для извлечения видео, отсчет с нуля.
CvCapture* cvCreateCameraCapture( int index );
/*
* устройства отсортированы в соответствии со списком:
CV_CAP_ANY 0
CV_CAP_MIL 100
CV_CAP_VFW 200
CV_CAP_V4L 200
CV_CAP_V4L2 200
CV_CAP_FIREWIRE 300
CV_CAP_IEEE1394 300
CV_CAP_DC1394 300
CV_CAP_CMU1394 300
допустим, первая камера, принадлежащая множеству любых, будет CV_CAP_ANY, следующая - (CV_CAP_ANY+1)
для камер с fireware интерфейсом аналогично: первая - CV_CAP_FIREWIRE, вторая (CV_CAP_FIREWIRE+1).
*/
Передавал в неё аргументы:
CV_CAP_V4L 200
CV_CAP_V4L2 200
Genius камера работает. А вот камера D-Link ругается на плохой аргумент переданный в функцию видео захвата.
При попытки передать аргумент CV_CAP_FIREWIRE 300
приложение запускается с любой из двух камер, однако ничего не происходит т.е. таже фигня что и при попытки вывести в окно видеофайл. консоль вроде запускает бинарник но ничего не происходит.
Мне непонятно в чём может быть различия в двух камерах ? Почему с одной из камер идёт видеозахват, а с другой нет ? И как можно осуществить видеозахва с камеры D-Link ?
Vooon » 13 мар 2010, 02:01
А она вообще работает? Другими приложениями открывается?
И я бы начал с 0-я, мало-ли к какому множеству относится...
MiBBiM » 14 мар 2010, 21:16
никто вас не ограничивает в библиотеках захвата видео. выбирайте любую другую
но вообще-то да, неплохо бы попробовать передать в процедуру индексы 0 и 1.
Frimen » 17 мар 2010, 01:02
Хочу попробовать использовать GStrimer в OpenCV для видео захвата. OpenCV вроде поддерживает GStrimer. Может кто знает как его можно использовать в OpenCV ? А то я что то не нашёл нормальной документации по этому вопросу!
Bratsim » 20 мар 2010, 20:46
Подскажите пожалуйста, что он от меня хочет.
Выдает ошибку сразу после компилирования и запуска программы.
Первая программка в примерах.
Вроде все просто, а тут вот такое
- Вложения
-
galex1981 » 20 мар 2010, 20:53
Ты в программе создаешь указатель на картинку которая по идее у тебя передается параметром в функцию main. А в реале ты просто запускаешь программу без параметров, потому и указательу тебя NULL
Bratsim » 20 мар 2010, 21:00
А пример можешь привести.
Сразу показать на коде куда там путь(указатель) надо ввести