crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> получение картинки с IP камеры
Brutalis
  опции профиля:
сообщение 11.10.2013, 9:35
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 20.2.2013
Пользователь №: 3719

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всех приветствую.проблема такая: есть ип камера. нужно получить с нее картинку,а точнее видео. подскажите как это лучше реализовать. самостоятельный поиск мало помог.
нашел несколько решений.
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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
nicktrandafil
  опции профиля:
сообщение 23.10.2013, 23:24
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 27.9.2013
Пользователь №: 3938

Спасибо сказали: 0 раз(а)




Репутация:   0  


Тут использует ip-камеру, попробуй разобраться.
http://habrahabr.ru/post/148467/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2024, 0:16