--- /dev/null
+#include <iostream>\r
+\r
+#include <opencv.hpp>\r
+#include <highgui.hpp>\r
+\r
+using std::cout;\r
+using std::cerr;\r
+using std::endl;\r
+using std::string;\r
+\r
+using namespace cv;\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Declaration *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+int tuto(string nameVideo);\r
+\r
+/*--------------------------------------*\\r
+ |* Private *|\r
+ \*-------------------------------------*/\r
+\r
+static int work(VideoCapture* ptrVideoCapture);\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* Implementation *|\r
+ \*---------------------------------------------------------------------*/\r
+\r
+/*--------------------------------------*\\r
+ |* Public *|\r
+ \*-------------------------------------*/\r
+\r
+/**\r
+ * http://docs.opencv.org/doc/tutorials/highgui/video-input-psnr-ssim/video-input-psnr-ssim.html\r
+ */\r
+int tuto(string nameVideo)\r
+ {\r
+\r
+ try\r
+ {\r
+ //v1\r
+ // VideoCapture cap(nameVideo);\r
+\r
+ //v2\r
+ VideoCapture cap;\r
+ cap.open(nameVideo);\r
+\r
+ if (!cap.isOpened())\r
+ {\r
+ return EXIT_FAILURE;\r
+ }\r
+\r
+ else\r
+ {\r
+ return work(&cap);\r
+ }\r
+\r
+ }\r
+ catch (cv::Exception& e)\r
+ {\r
+ const char* err_msg = e.what();\r
+\r
+ cerr << "Tuto failed" << endl;\r
+ cerr << err_msg << endl;\r
+\r
+ return EXIT_FAILURE;\r
+ }\r
+\r
+ }\r
+\r
+/*--------------------------------------*\\r
+ |* Private *|\r
+ \*-------------------------------------*/\r
+\r
+int work(VideoCapture* ptrVideoCapture)\r
+ {\r
+ cout<<"[Tuto] : work"<<endl;\r
+\r
+ VideoCapture cap = *ptrVideoCapture;\r
+\r
+ double rate = cap.get(CV_CAP_PROP_FPS);\r
+ int delay = 1000/rate;\r
+\r
+ namedWindow("edges", 1);\r
+\r
+ Mat edges;\r
+ while (true)\r
+ {\r
+ Mat frame;\r
+ //cout << "[Tuto] cap >> frame : try" << endl; // debug\r
+ cap >> frame; // get a new frame from camera\r
+\r
+ if (frame.empty())\r
+ {\r
+ return EXIT_SUCCESS;\r
+ }\r
+ else\r
+ {\r
+ // ColorConversion\r
+ {\r
+ // http://siggiorn.com/wp-content/uploads/libraries/opencv-java/docs/sj/opencv/Constants.ColorConversion.html\r
+ //int colorConversion=CV_BGR2GRAY; // ok\r
+ //int colorConversion=CV_BGR2RGBA ; // ko\r
+ int colorConversion = CV_BGR2BGRA; // ok\r
+ cvtColor(frame, edges, colorConversion);\r
+ }\r
+\r
+ // Effet\r
+ {\r
+ //GaussianBlur(edges, edges, Size(7, 7), 1.5, 1.5);\r
+ //Canny(edges, edges, 0, 30, 3);\r
+ }\r
+\r
+ imshow("edges", edges);\r
+\r
+ if (waitKey(delay) >= 0)\r
+ {\r
+ return EXIT_SUCCESS;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+/*----------------------------------------------------------------------*\\r
+ |* End *|\r
+ \*---------------------------------------------------------------------*/\r
+\r