Skip to content
Snippets Groups Projects
Select Git revision
  • 194ea0a4abfe4dd3279770b3780d10db67095783
  • master default protected
2 results

07_buildCWMs.Rmd

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    VideoCapture.h 1.49 KiB
    /*
    This file is part of BGSLibrary.
    
    BGSLibrary 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.
    
    BGSLibrary 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 BGSLibrary.  If not, see <http://www.gnu.org/licenses/>.
    */
    #pragma once
    
    #include <iostream>
    #include <opencv2/opencv.hpp>
    
    
    #include "Config.h"
    #include "IFrameProcessor.h"
    
    namespace bgslibrary
    {
      class VideoCapture
      {
      private:
        IFrameProcessor* frameProcessor;
        CvCapture* capture;
        IplImage* frame;
        int key;
        int64 start_time;
        int64 delta_time;
        double freq;
        double fps;
        long frameNumber;
        long stopAt;
        bool useCamera;
        int cameraIndex;
        bool useVideo;
        std::string videoFileName;
        int input_resize_percent;
        bool showOutput;
        bool enableFlip;
    
      public:
        VideoCapture();
        ~VideoCapture();
    
        void setFrameProcessor(IFrameProcessor* frameProcessorPtr);
        void setCamera(int cameraIndex);
        void setVideo(std::string filename);
        void start();
    
      private:
        void setUpCamera();
        void setUpVideo();
    
        void saveConfig();
        void loadConfig();
      };
    }