This repository has been archived by the owner on Jun 3, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
FiducialDefines.h
59 lines (44 loc) · 1.61 KB
/
FiducialDefines.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/// @file FiducialDefines.h
/// Defines for fiducial library.
/// @author Jan Fischer
/// @date June 2013.
#ifndef __IPA_FIDUCIAL_DEFINES_H__
#define __IPA_FIDUCIAL_DEFINES_H__
#include "opencv2/core/core.hpp"
namespace ipa_Fiducials {
#if defined _MSC_VER && _MSC_VER >= 1200
// disable warnings related to inline functions
#pragma warning( disable: 4251 4275)
#endif
/// Define, if we need to import or export the libraries
#ifdef __linux__
#define __DLL_LIBFIDUCIALS__
#define APIENTRY
#else
#ifdef __LIBFIDUCIALS_EXPORT__
#define __DLL_LIBFIDUCIALS__ __declspec(dllexport)
#else
#define __DLL_LIBFIDUCIALS__ __declspec(dllimport)
#endif
#endif
/// Enum to encode the different feature types
typedef enum
{
TYPE_UNDEFINED = 0x00000000, ///< Undefined feature type
TYPE_PI = 0x00000001, ///< PI fiducial from Bergamasco et al. 'Pi-Tag: a fast image-space marker design basedon projective invariants'
TYPE_ARUCO = 0x00000002 ///< ArUco fiducial from http://www.uco.es/investiga/grupos/ava/node/26'
}t_FiducialType;
struct t_pose
{
int id; ///< Unique ID of the marker
cv::Mat rot; ///< rodrigues rotation vector from tag coordinate system to camera coordinate system
cv::Mat trans; ///< translation from tag coordinate system to camera coordinate system
};
struct t_points
{
int id; ///< Unique ID of the marker
std::vector<cv::Point2f> marker_points; ///< ellipse coordinates in marker coordinate system
std::vector<cv::Point2f> image_points; ///< ellipse coordinates in marker coordinate system
};
} // namespace ipa_Fiducials
#endif // __IPA_FIDUCIAL_DEFINES_H__