roboforum.ru

Технический форум по робототехнике.


Opencv и rtmp

Opencv и rtmp

Сообщение Barmaley » 09 мар 2014, 01:18

Нужно получить видео через rtmp протокол, не долго думая я набросал такой код:
Код: Выделить всёРазвернуть
#define _CRT_SECURE_NO_WARNINGS     

#include <sstream>
#include <string>
#include <iostream>
#include <opencv\highgui.h>
#include <opencv\cv.h>

using namespace cv;

//default capture width and height
const int FRAME_WIDTH = 640;
const int FRAME_HEIGHT = 480;

const string windowName = "Original Image";

int main(int argc, char* argv[])
{
   Mat cameraFeed;

   int x=0, y=0;

   VideoCapture capture;

   capture.open("rtmp://video.bvf.ru/live/holzunova");
   //set height and width of capture frame
   capture.set(CV_CAP_PROP_FRAME_WIDTH,FRAME_WIDTH);
   capture.set(CV_CAP_PROP_FRAME_HEIGHT,FRAME_HEIGHT);
   while(1){

      imshow(windowName,cameraFeed);
      waitKey(30);
   }      
   return 0;
}

однако по какой-то причине после запуска выбрасывает ошибку:
Код: Выделить всёРазвернуть
cv::Exception at memory location

Подскажите как можно решить данную проблему...
PS я в opencv новичек.
Barmaley
 
Сообщения: 1
Зарегистрирован: 09 мар 2014, 01:11

Re: Opencv и rtmp

Сообщение abukirev » 28 мар 2014, 21:00

Как я вижу - переменной cameraFeed не присвоено значение текущего кадра(ну или типа того)
Вот тут есть пример из опенсивишной документации - http://docs.opencv.org/modules/highgui/ ... video.html

Код: Выделить всёРазвернуть
#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char**)
{
    VideoCapture cap(0); // open the default camera
    if(!cap.isOpened())  // check if we succeeded
        return -1;

    Mat edges;
    namedWindow("edges",1);
    for(;;)
    {
        Mat frame;
        cap >> frame; // get a new frame from camera
        cvtColor(frame, edges, CV_BGR2GRAY);
        GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
        Canny(edges, edges, 0, 30, 3);
        imshow("edges", edges);
        if(waitKey(30) >= 0) break;
    }
    // the camera will be deinitialized automatically in VideoCapture destructor
    return 0;
}


Различные трансформации можно опустить.
abukirev
 
Сообщения: 17
Зарегистрирован: 23 дек 2013, 23:03
Откуда: Нижний Новгород
прог. языки: С++, Python, PHP
ФИО: Андрей


Вернуться в Компьютерное зрение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3