1 #ifndef _IVIDEO_READER_H_
2 #define _IVIDEO_READER_H_
6 #include <opencv2/opencv.hpp>
16 TK_DECLARE_PTR(VideoReaderFactory);
17 TK_DECLARE_PTR(VideoReader);
18 TK_DECLARE_PTR(URLReader);
19 TK_DECLARE_PTR(Engine);
21 class VideoReaderFactory
24 static VideoReaderPtr createVideoReader(VideoSrcType type, const std::string& url);
30 VideoReader(VideoSrcType type, const std::string& url) : type(type), url(url){}
32 virtual ~VideoReader();
33 virtual bool read(cv::Mat& mat){return true;}
43 class UrlReader : public VideoReader
46 UrlReader(VideoSrcType type, const std::string& url);
48 bool read(cv::Mat& mat);
50 cv::VideoCapture vcap;
53 class FileReader : public VideoReader
56 FileReader(VideoSrcType type, const std::string& url):VideoReader(type, url){}
60 class UsbReader : public VideoReader
63 UsbReader(VideoSrcType type, const std::string& url):VideoReader(type, url){}
70 #endif /* _IVIDEO_READER_H_ */