Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2013, 23:33   #1
brutalis
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 72
Восклицание получение картинки с IP камеры

Всех приветствую.проблема такая: есть ип камера. нужно получить с нее картинку,а точнее видео. подскажите как это лучше реализовать. самостоятельный поиск мало помог.
нашел несколько решений.
1. через регистрацию камеры в сис
Код
Код:
int KamIndex,c,x,y;
     c = lineEdit->text().toInt() ;
     c = indexBox->text().toInt() ;
     x=x_coordinate->text().toInt() ;
     y=y_coordinate->text().toInt() ;
    KamIndex=c;
    //#####################------------------просто доступ к камере
            // задаём высоту и ширину картинки
            // получаем любую подключённую камеру
        //CVAPI(CvCapture*) cvCreateCameraCapture( int index );
        //CVAPI(int) cvSaveImage( const char* filename, const CvArr* image, const int* params CV_DEFAULT(0) );
 
        //номер камеры в системе(number of cameras in the system)
 
        //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
        CvCapture* capture =  cvCaptureFromCAM( KamIndex );
        //cvCreateCameraCapture(CV_CAP_ANY);//
        //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
        if(capture == NULL)
            // Если камер не обнаружено
         proverka();
             assert( capture );
 
           cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, x);//1280);
           cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT,y);//960);
 
             // узнаем ширину и высоту кадра
            // double width = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH);
           //  double height = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT);
             //printf(" %.0f x %.0f\n", width, height );
 
             IplImage* frame=0;
             cvNamedWindow("capture", CV_WINDOW_AUTOSIZE);
             printf(" press Enter for capture image and Esc for quit!\n\n");
             int counter=0;
             char filename[512];
             while(true){
                     // получаем кадр
                     frame = cvQueryFrame( capture );
                     // показываем
                     cvShowImage("capture", frame);
                     char c = cvWaitKey(33);
                     if (c == 27) { // нажата ESC
                             break;
                     }
                     else if(c == 13) { // Enter
                             // сохраняем кадр в файл
                             sprintf(filename, "Image%d.jpg", counter);
                             printf(" capture... %s\n", filename);
                             cvSaveImage(filename, frame);
                             counter++;
                     }
             }
             // освобождаем ресурсы
             cvReleaseCapture( &capture );
             cvDestroyWindow("capture");
не подходит т.к. для регистрации нужны админские права, что в данной ситуации не подходит
2.должен напрямую по ип подключаться
Код
Код:
{using namespace std;    using namespace cv;
           VideoCapture vid("http://admin:admin123@192.168.0.20/video/mjpg.cgi?&.mjpg");//("http://192.168.0.20:80/videostream.cgi?user=admin&pwd=admin123&resolution=32");//; //169.254.214.34 change this URL according to your camera
       if (!vid.isOpened())
       {
           cout << "could not capture";
            //break;
       }
 
      Mat frame;
      // IplImage *frame=0;
       cvNamedWindow("IPcamera");
       char key = 'a';
 
       while(true)
       {
 
           vid.grab();
           vid.retrieve(frame);
           imshow("IPcamera", frame);
           key = waitKey(10);
       }
 
       destroyAllWindows();
при выполнении критует. может где ошибка?
подскажите как можно еще получить видео с ип камеры

пользую qt 4.8 b opencv
brutalis вне форума Ответить с цитированием
Старый 22.10.2013, 18:04   #2
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

У меня есть программа для работы с веб-камерой. Интересно, она подойдёт для IP-камеры?
8Observer8 вне форума Ответить с цитированием
Старый 27.10.2013, 21:24   #3
brutalis
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 72
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
У меня есть программа для работы с веб-камерой. Интересно, она подойдёт для IP-камеры?
если не жалко, то можешь выложить. посмотрю.
brutalis вне форума Ответить с цитированием
Старый 27.10.2013, 21:57   #4
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Вот в этой теме я писал, там всё есть: http://programmersforum.ru/showthread.php?t=242816
8Observer8 вне форума Ответить с цитированием
Старый 02.11.2013, 17:15   #5
brutalis
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 72
По умолчанию

проблема все еще актуальна
brutalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение идентификатора картинки из url Arsenx777 PHP 0 22.04.2012 18:53
Получение картинки с веб-камеры Aleksandr_59 Мультимедиа в Delphi 17 23.03.2012 17:56
Трансляция картинки вместо видео с камеры linnard Мультимедиа в Delphi 5 23.08.2011 00:43
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 23:11
получение картинки по на жатию на записи в дб грид Lokos БД в Delphi 2 03.03.2010 07:38