annotate include/cvutils.hpp @ 398:3399bd48cb40

Ajout d'une méthode pour obtenir le nombre de FPS Méthode de capture des trames vidéos plus résistante aux erreur Utilisation d'un dictionnaire pour les fichier de configuration afin de garder le nom des sections
author Jean-Philippe Jodoin <jpjodoin@gmail.com>
date Mon, 29 Jul 2013 13:46:07 -0400
parents 0089fb29cd26
children 5eeb3b9fb568
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
1 #ifndef CVUTILS_HPP
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
2 #define CVUTILS_HPP
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
3
126
336926453b28 added conversion function from keypoint vector to point vector and cleaned headers
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 70
diff changeset
4 #include "opencv2/core/core.hpp"
336926453b28 added conversion function from keypoint vector to point vector and cleaned headers
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 70
diff changeset
5 #include "opencv2/features2d/features2d.hpp"
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
6
12
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
7 class CvCapture;
139
47329bd16cc0 cleaned code, added condition on smooth displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 131
diff changeset
8 //template<typename T> class Point_<T>;
12
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
9
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
10 /// constant that indicates if the image should be flipped
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
11 //static const int flipImage = CV_CVTIMG_FLIP;
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
12
147
0089fb29cd26 added projection of points and reprojection for display
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 144
diff changeset
13 /** Projects a point with the homography matrix
0089fb29cd26 added projection of points and reprojection for display
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 144
diff changeset
14 use perspectiveTransform for arrays of points. */
0089fb29cd26 added projection of points and reprojection for display
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 144
diff changeset
15 cv::Point2f project(const cv::Point2f& p, const cv::Mat& homography);
0089fb29cd26 added projection of points and reprojection for display
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 144
diff changeset
16
144
b32947b002da added the code to read matrices from text files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 139
diff changeset
17 /** Loads a cv mat from a text file where the numbers are saved line by line separated by separator */
b32947b002da added the code to read matrices from text files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 139
diff changeset
18 cv::Mat loadMat(const std::string& filename, const std::string& separator);
b32947b002da added the code to read matrices from text files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 139
diff changeset
19
139
47329bd16cc0 cleaned code, added condition on smooth displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 131
diff changeset
20 template<typename T>
47329bd16cc0 cleaned code, added condition on smooth displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 131
diff changeset
21 float scalarProduct(const cv::Point_<T>& v1, const cv::Point_<T>& v2) { return v1.x*v2.x+v1.y*v2.y;}
47329bd16cc0 cleaned code, added condition on smooth displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 131
diff changeset
22
128
536510f60854 new features generated as needed
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 127
diff changeset
23 void keyPoints2Points(const std::vector<cv::KeyPoint>& kpts, std::vector<cv::Point2f>& pts, const bool& clearPts = true);
126
336926453b28 added conversion function from keypoint vector to point vector and cleaned headers
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 70
diff changeset
24
12
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
25 /** Allocates a new IplImage. */
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
26 IplImage* allocateImage(const int& width, const int& height, const int& depth, const int& channels);
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
27
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
28 IplImage* allocateImage(const CvSize& size, const int& depth, const int& channels);
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
29
12
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
30 /** Goes to the target frame number, by querying frame,
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
31 supposing the video input is currently at current frame number.
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
32 Returns the frame number that was reached.*/
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
33 int goToFrameNum(CvCapture* inputVideo, const int& currentFrameNum, const int& targetFrameNum);
11
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
34
131
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
35 /// Pre-defined colors
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
36 class Colors {
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
37 public:
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
38 static const int nColors = 8;
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
39 static const cv::Scalar color[];
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
40
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
41 static cv::Scalar black(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
42 static cv::Scalar red(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
43 static cv::Scalar green(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
44 static cv::Scalar blue(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
45 static cv::Scalar white(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
46 static cv::Scalar magenta(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
47 static cv::Scalar cyan(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
48 static cv::Scalar yellow(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
49
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
50 /** Maps integers to primary colors. */
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
51 static cv::Scalar color3(const int& num);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
52 static cv::Scalar color8(const int& num);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
53 };
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
54
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
55 #endif