/*
* Copyright (C) 2018 dimercur
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
#ifndef __CAMERA_H__
#define __CAMERA_H__
#include
#include
#ifndef __FOR_PC__
#include "raspicam/raspicam_cv.h"
#endif /* __FOR_PC__ */
#include "img.h"
enum captureSize {xs, sm, md, lg};
class Camera {
public:
Camera(int size, int fps);
bool Open();
void Close();
int GetWidth() const;
int GetHeight() const;
bool IsOpen();
void SetSize(int size);
Img Grab();
private:
#ifdef __FOR_PC__
cv::VideoCapture cap;
#else
raspicam::RaspiCam_Cv cap;
#endif /* __FOR_PC__ */
int size = sm;
int width;
int height;
};
#endif //__CAMERA_H__