]> rtime.felk.cvut.cz Git - opencv.git/blobdiff - opencv_extra/3d/tracker3D/object_tracker.h
Corrected 3d tracker application and added sample data
[opencv.git] / opencv_extra / 3d / tracker3D / object_tracker.h
diff --git a/opencv_extra/3d/tracker3D/object_tracker.h b/opencv_extra/3d/tracker3D/object_tracker.h
new file mode 100644 (file)
index 0000000..68c9737
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef CREATESAMPLES_H\r
+#define CREATESAMPLES_H\r
+//constants\r
+\r
+#define FRAME_WINDOW "Frame Window" // Main window name\r
+#define FRAMES_TRACKBAR "Frames" \r
+#define DEPTH_TRACKBAR "Box depth" // Trackbar with box depth (in chessboard squares)\r
+#define INITIAL_DEPTH_TRACKBAR "Init depth" // Trackbar initial box position (in chessboard squares)\r
+#define ERROR_TRACKBAR "Max Error"\r
+#define MAX_ERROR_VALUE 50\r
+#define MAX_DEPTH_VALUE 50\r
+#define MAX_INITAL_DEPTH_VALUE 100\r
+#define MIN_INITAL_DEPTH_VALUE -100\r
+#define IDENTITY_ERROR_VALUE 10\r
+#define IDENTITY_DEPTH_VALUE 1\r
+#define IDENTITY_INITIAL_DEPTH_VALUE 1\r
+\r
+// Image deinterlacing\r
+IplImage* Deinterlace(IplImage* src);\r
+\r
+void InverseUndistortMap(const CvMat* mapx,const CvMat* mapy, CvMat** invmapx, CvMat** invmapy, bool interpolate=0);\r
+\r
+//Load camera params from yaml file\r
+int LoadCameraParams(char* filename, CvMat** intrinsic_matrix, CvMat** distortion_coeffs);\r
+\r
+IplImage* Undistort(IplImage* src,const CvMat* intrinsic_matrix,const CvMat* distortion_coeffs);\r
+\r
+int ShowFrame(int pos);\r
+\r
+// if chessboardPoints = NULL using simle affine transform otherwise we must have correct oldPoints pointer\r
+// chessBoardPoints is array 2xN\r
+//  returns new points location\r
+CvPoint* GetCurrentPointsPosition(IplImage* workImage, CvPoint2D32f* relCoords, CvMat* chessboardPoints = NULL, CvPoint* oldPoints=NULL, CvPoint2D32f* outCorners=0);\r
+\r
+IplImage* GetSample(const IplImage* src,CvSize innerCornersCount, const CvPoint* points, CvPoint2D32f* chessboardCorners=0);\r
+\r
+void createSamples2DObject(int argc, char** argv);\r
+\r
+void createSamples3DObject(int argc, char** argv); // 3D object from two frames with automatic depth calculations (not robust)\r
+\r
+void createSamples3DObject2(int argc, char** argv); // 3D object from one frame with manual depth settings (robust)\r
+\r
+#endif
\ No newline at end of file