Форум по Delphi программированию



Вернуться   Форум по Delphi программированию > C/C++ > C/C++
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.10.2013, 10:34
brutalis brutalis вне форума
Новичок
 
Регистрация: 20.05.2011
Сообщения: 51
Репутация: 10
Восклицание получение картинки с 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("[i] %.0f x %.0f\n", width, height );

             IplImage* frame=0;
             cvNamedWindow("capture", CV_WINDOW_AUTOSIZE);
             printf("[i] 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("[i] 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
Вложения
Тип файла: rar video.rar (35.9 Кбайт, 8 просмотров)
Ответить с цитированием
  #2  
Старый 02.11.2013, 17:15
brutalis brutalis вне форума
Новичок
 
Регистрация: 20.05.2011
Сообщения: 51
Репутация: 10
По умолчанию

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



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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:09.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter   Ссылка на Telegram