temps_reel/software/raspberry/superviseur-robot/lib/camera.h

59 lines
1.3 KiB
C
Raw Normal View History

2018-12-14 17:04:42 +01:00
/*
* 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 <http://www.gnu.org/licenses/>.
*/
#ifndef __CAMERA_H__
#define __CAMERA_H__
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#ifndef __FOR_PC__
#include "raspicam/raspicam_cv.h"
#endif /* __FOR_PC__ */
2018-12-14 17:04:42 +01:00
#include "img.h"
enum captureSize {xs, sm, md, lg};
class Camera {
public:
Camera(int size, int fps);
2018-12-14 17:04:42 +01:00
bool Open();
void Close();
int GetWidth() const;
int GetHeight() const;
2018-12-14 17:04:42 +01:00
bool IsOpen();
void SetSize(int size);
2018-12-14 17:04:42 +01:00
Img Grab();
2018-12-14 17:04:42 +01:00
private:
#ifdef __FOR_PC__
2018-12-14 17:04:42 +01:00
cv::VideoCapture cap;
#else
raspicam::RaspiCam_Cv cap;
#endif /* __FOR_PC__ */
2018-12-14 17:04:42 +01:00
int size = sm;
int width;
int height;
};
#endif //__CAMERA_H__