Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / BilatTools_OpenCV / src / core / capture / header / Capture_A.h
diff --git a/WCudaMSE/BilatTools_OpenCV/src/core/capture/header/Capture_A.h b/WCudaMSE/BilatTools_OpenCV/src/core/capture/header/Capture_A.h
new file mode 100755 (executable)
index 0000000..f902212
--- /dev/null
@@ -0,0 +1,105 @@
+#ifndef CAPTURE_A_H_\r
+#define CAPTURE_A_H_\r
+\r
+#include <string>\r
+\r
+#include <opencv.hpp>\r
+#include <highgui.hpp>\r
+\r
+#include "Chronos.h"\r
+#include "cudaType.h"\r
+\r
+using namespace cv;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    Declaration                                     *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |*            Public                  *|\r
+ \*-------------------------------------*/\r
+\r
+/**\r
+ * http://opencv.willowgarage.com/wiki/VideoCodecs\r
+ */\r
+class Capture_A\r
+    {\r
+       /*--------------------------------------*\\r
+       |*              Constructor             *|\r
+        \*-------------------------------------*/\r
+\r
+    public:\r
+\r
+       Capture_A(VideoCapture* ptrCaptureStream,const string&  title, uchar4* ptrHostMemory=NULL);\r
+       virtual ~Capture_A(void);\r
+\r
+       /*--------------------------------------*\\r
+       |*              Methodes                *|\r
+        \*-------------------------------------*/\r
+\r
+    public:\r
+\r
+       VideoCapture* getVideoCapture(void);\r
+       int getW(void);\r
+       int getH(void);\r
+       string getTitle(void);\r
+       Chronos getChronos(void);\r
+       int fpsCapture(void);\r
+\r
+       bool isOpened(void);\r
+       int nbOctetImage(void);\r
+       long nbCapture(void);\r
+\r
+       virtual void printInfo(void);\r
+\r
+       /**\r
+        * Temps a attendre entre 2 captures pour respecter fps original\r
+        */\r
+       virtual int dtOriginalMS(void);\r
+\r
+       /**\r
+        * To be call periodicly to obtain image\r
+        * Type pas RVBA, mais BVRA\r
+        */\r
+       Mat capturer(void);\r
+\r
+       // Tools\r
+       static uchar4* castToUChar4(uchar* ptrTab);\r
+       static uchar4* castToUChar4(Mat* ptrMap);\r
+\r
+    protected:\r
+\r
+       virtual void readStream(VideoCapture* ptrCaptureStream, Mat* ptrMatCaptureSrc)=0;\r
+\r
+    private:\r
+\r
+\r
+       /*--------------------------------------*\\r
+       |*              Attributs               *|\r
+        \*-------------------------------------*/\r
+\r
+    private:\r
+\r
+       // Inputs\r
+       string title;\r
+\r
+\r
+       // Tools\r
+       Mat matCaptureSrc;\r
+\r
+       // Outputs\r
+       float w;\r
+       int h;\r
+       Mat matCaptureDest;\r
+       long compteurCapture;\r
+       Chronos chrono;\r
+\r
+    protected:\r
+       VideoCapture* ptrCaptureStream;\r
+    };\r
+\r
+#endif\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |*                    End                                             *|\r
+ \*---------------------------------------------------------------------*/\r