annotate include/cvutils.hpp @ 933:8ac7f61c6e4f

major rework of homography calibration, no in ideal points if correcting for distortion
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 14 Jul 2017 02:11:21 -0400
parents b6ad86ee7033
children 05ccd8ef150c
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
933
8ac7f61c6e4f major rework of homography calibration, no in ideal points if correcting for distortion
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 481
diff changeset
17 /** Projects a point with the camera matrix */
8ac7f61c6e4f major rework of homography calibration, no in ideal points if correcting for distortion
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 481
diff changeset
18 cv::Point2f cameraProject(const cv::Point2f& p, const cv::Mat& cameraMatrix);
8ac7f61c6e4f major rework of homography calibration, no in ideal points if correcting for distortion
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 481
diff changeset
19
144
b32947b002da added the code to read matrices from text files
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 139
diff changeset
20 /** 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
21 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
22
481
b6ad86ee7033 implemented smoothing (requires latest trajectory management library version)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 407
diff changeset
23 //template<typename T>
b6ad86ee7033 implemented smoothing (requires latest trajectory management library version)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 407
diff changeset
24 //float scalarProduct(const cv::Point_<T>& v1, const cv::Point_<T>& v2) { return v1.x*v2.x+v1.y*v2.y;}
139
47329bd16cc0 cleaned code, added condition on smooth displacement
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 131
diff changeset
25
128
536510f60854 new features generated as needed
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 127
diff changeset
26 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
27
12
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
28 /** Allocates a new IplImage. */
407
5eeb3b9fb568 commented problem code (opencv 2.4.6)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 147
diff changeset
29 // IplImage* allocateImage(const int& width, const int& height, const int& depth, const int& channels);
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
30
407
5eeb3b9fb568 commented problem code (opencv 2.4.6)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 147
diff changeset
31 // IplImage* allocateImage(const CvSize& size, const int& depth, const int& channels);
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
32
12
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
33 /** Goes to the target frame number, by querying frame,
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
34 supposing the video input is currently at current frame number.
ff5403319cec optical flow demo working
Nicolas Saunier <nico@confins.net>
parents: 11
diff changeset
35 Returns the frame number that was reached.*/
407
5eeb3b9fb568 commented problem code (opencv 2.4.6)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 147
diff changeset
36 // 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
37
131
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
38 /// Pre-defined colors
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
39 class Colors {
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
40 public:
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
41 static const int nColors = 8;
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
42 static const cv::Scalar color[];
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
43
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
44 static cv::Scalar black(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
45 static cv::Scalar red(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
46 static cv::Scalar green(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
47 static cv::Scalar blue(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
48 static cv::Scalar white(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
49 static cv::Scalar magenta(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
50 static cv::Scalar cyan(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
51 static cv::Scalar yellow(void);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
52
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
53 /** Maps integers to primary colors. */
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
54 static cv::Scalar color3(const int& num);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
55 static cv::Scalar color8(const int& num);
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
56 };
3a11dba30655 added colors
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents: 128
diff changeset
57
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
58 #endif