Shift VideoCapture stuff to Input class instead of readWebcam method; Add freeWebcam method

This commit is contained in:
Tim Zeuner 2022-11-10 14:40:28 +01:00
parent d1341a7c8a
commit 63745d0446
2 changed files with 16 additions and 7 deletions

View File

@ -1,11 +1,17 @@
#include "input.h"
Input::Input(/* args */)
Input::Input(/* args */) : cap(0)
{
const int VID_HEIGHT = 240;
const int VID_WIDTH = 320;
this->cap.set(CAP_PROP_FRAME_HEIGHT, VID_HEIGHT);
this->cap.set(CAP_PROP_FRAME_WIDTH, VID_WIDTH);
}
Input::~Input()
{
this->freeWebcam();
}
Mat Input::readFile(String filePath)
@ -33,13 +39,7 @@ Mat Input::readFile(String filePath)
Mat Input::readWebcam()
{
const int VID_HEIGHT = 240;
const int VID_WIDTH = 320;
Mat image;
VideoCapture cap(0);
cap.set(CAP_PROP_FRAME_HEIGHT, VID_HEIGHT);
cap.set(CAP_PROP_FRAME_WIDTH, VID_WIDTH);
if(!cap.isOpened()) {
cout << "Fehler";
@ -49,4 +49,9 @@ Mat Input::readWebcam()
cap.read(image);
return image;
}
void Input::freeWebcam()
{
this->cap.release();
}

View File

@ -2,7 +2,9 @@
#include <vector>
#include <string>
#include <algorithm>
#include <opencv2/opencv.hpp>
#include <opencv2/core/utils/logger.hpp>
using namespace std;
using namespace cv;
@ -10,10 +12,12 @@ using namespace cv;
class Input
{
private:
VideoCapture cap;
public:
Input(/* args */);
~Input();
Mat readFile(String filePath);
Mat readWebcam();
void freeWebcam();
};