CVB++ 15.0
c_polarization.h
1#pragma once
2#if defined _WIN32
3
4#if defined __GNUC__ && !defined CVB_SHOW_WARNINGS
5#pragma GCC system_header
6#endif // __GNUC__
7
8#include "../namespace.hpp"
9
10#include "c_img.h"
11
12namespace Cvb
13{
14
15CVB_BEGIN_INLINE_NS
16
17namespace CExports
18{
19enum CVPOL_PSEUDO_COLOR_MODE
20{
21 CVPOL_PCM_HSV_1 = 0,
22 CVPOL_PCM_HSV_2 = 1,
23 CVPOL_PCM_DEGREE_POL = 2,
24 CVPOL_PCM_ANGLE_POL_MONO = 3,
25 CVPOL_PCM_ANGLE_POL_COL = 4
26};
27
28enum CVPOL_RESOLUTION
29{
30 CVPOL_RES_HALF = 0,
31 CVPOL_RES_FULL = 1
32};
33
34enum CVPOL_PATTERN
35{
36 CVPOL_PATTERN_90_45_135_0 = 0,
37 CVPOL_PATTERN_LINE_0_90_135 = 1,
38 CVPOL_PATTERN_BAYER_GREEN_BLUE = 1 << 16,
39 CVPOL_PATTERN_BAYER_BLUE_GREEN = 1 << 17,
40 CVPOL_PATTERN_BAYER_RED_GREEN = 1 << 18,
41 CVPOL_PATTERN_BAYER_GREEN_RED = 1 << 19
42
43};
44
45const unsigned int CVPOL_PATTERN_MASK = 0xFFFF;
46
47const unsigned int CVPOL_BAYER_PATTERN_MASK = 0xFFFF0000;
48
49CVB_DEF_CAPI_X(cvbres_t,
50 CVPolConvertPatternImageToPlanes,
51 (IMG RawImage, cvbval_t Pattern, CVPOL_RESOLUTION Resolution, IMG &OutImage));
52
53CVB_DEF_CAPI_X(cvbres_t, CVPolCalculateStokesImage, (IMG PolarizationImage, IMG &OutImage));
54
55CVB_DEF_CAPI_X(cvbres_t, CVPolCalculateStokes0, (IMG PolarizationImage, IMG &OutImage));
56CVB_DEF_CAPI_X(cvbres_t, CVPolCalculateStokes1, (IMG PolarizationImage, IMG &OutImage));
57CVB_DEF_CAPI_X(cvbres_t, CVPolCalculateStokes2, (IMG PolarizationImage, IMG &OutImage));
58
59CVB_DEF_CAPI_X(cvbres_t, CVPolCalculateMinReflectionImage, (IMG PolarizationImage, IMG &OutImage));
60
61CVB_DEF_CAPI_X(cvbres_t, CVPolColorizePolarization, (IMG StokesImg, CVPOL_PSEUDO_COLOR_MODE ColorMode, IMG &OutImage));
62}
63
64CVB_END_INLINE_NS
65
66}
67
68#endif
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17