Как использовать объект захвата видео вне основной функции в этом коде? - PullRequest
0 голосов
/ 20 июня 2019

Я хочу использовать объект захвата видео вне основной функции для создания моей программы. Код неверный.Как то так:

class Abc{
        void frameDetails(int width = 640,int height =480){
        cap.set(CV_CAP_PROP_FRAME_WIDTH,width);
        cap.set(CV_CAP_PROP_FRAME_HEIGHT,height);
    }
};

int main(int argc, char **argv){
    cv::VideoCapture cap(0);
    Abc obj;
    return 0;
}

1 Ответ

0 голосов
/ 21 июня 2019

Вы можете добавить конструктор в ваш класс, который откроет объект cv::VideoCapture. Объект cap может быть публичной переменной.

class Abc
    {
        cv::VideoCapture cap;
        Abc(){
        cap.open(0);
        }
        void frameDetails(int width = 640,int height =480){
        cap.set(CV_CAP_PROP_FRAME_WIDTH,width);
        cap.set(CV_CAP_PROP_FRAME_HEIGHT,height);
    }
};

int main(int argc, char **argv){
    Abc obj();
    return 0;
}

Я не тестировал этот код, но это логично, как вы можете достичь этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...