Opencvのtype_c.hノート
30415 ワード
Opencvのdepthマクロ定義
いくつかの数字をバイナリに変換すると,推測できる差は多くない.
00000000 00000000 00000000 00000000 NUM:0
00000000 00000000 00000000 00000001 NUM:1
00000000 00000000 00000000 00000010 NUM:2
00000000 00000000 00000000 00000011 NUM:3
00000000 00000000 00000000 00000100 NUM:4
00000000 00000000 00000000 00000101 NUM:5
00000000 00000000 00000000 00000110 NUM:6
00000000 00000000 00000000 00000111 NUM:7
00000000 00000000 00000000 00001000 NUM:8
00000000 00000000 00000000 00001001 NUM:9
00000000 00000000 00000000 00001010 NUM:10
00000000 00000000 00000000 00001011 NUM:11
00000000 00000000 00000000 00001100 NUM:12
00000000 00000000 00000000 00001101 NUM:13
00000000 00000000 00000000 00001110 NUM:14
00000000 00000000 00000000 00001111 NUM:15
00000000 00000000 00000000 00010000 NUM:16
00000000 00000000 00000000 00010001 NUM:17
00000000 00000000 00000000 00010010 NUM:18
00000000 00000000 00000000 00010011 NUM:19
00000000 00000000 00000000 00010100 NUM:20
00000000 00000000 00000000 00010101 NUM:21
00000000 00000000 00000000 00010110 NUM:22
00000000 00000000 00000000 00010111 NUM:23
00000000 00000000 00000000 00011000 NUM:24
00000000 00000000 00000000 00011001 NUM:25
00000000 00000000 00000000 00011010 NUM:26
00000000 00000000 00000000 00011011 NUM:27
00000000 00000000 00000000 00011100 NUM:28
00000000 00000000 00000000 00011101 NUM:29
00000000 00000000 00000000 00011110 NUM:30
10000000 00000000 00000000 00000000 FIXED_TYPE
01000000 00000000 00000000 00000000 FIXED_SIZE
00111111 11111111 00000000 00000000 KIND_MASK
00000000 00000000 00000000 00000000 NONE
00000000 00000001 00000000 00000000 MAT
00000000 00000010 00000000 00000000 MATX
00000000 00000011 00000000 00000000 STD_VECTOR
00000000 00000100 00000000 00000000 STD_VECTOR_VECTOR
00000000 00000101 00000000 00000000 STD_VECTOR_MAT
00000000 00000110 00000000 00000000 EXPR
00000000 00000111 00000000 00000000 OPENGL_BUFFER
00000000 00001000 00000000 00000000 OPENGL_TEXTURE
00000000 00001001 00000000 00000000 GPU_MAT
00000000 00001010 00000000 00000000 OCL_MAT
00000000 00000000 00000000 00001000 CV_DEPTH_MAX, NUM:8
00000000 00000000 00000000 00000111 CV_MAT_DEPTH_MASK, NUM:7
00000000 00000000 00000000 00000000 CV_8UC1, NUM:0
00000000 00000000 00000000 00001000 CV_8UC2, NUM:8
00000000 00000000 00000000 00010000 CV_8UC3, NUM:16
00000000 00000000 00000000 00011000 CV_8UC4, NUM:24
00000000 00000000 00000000 00000001 CV_8SC1, NUM:1
00000000 00000000 00000000 00001001 CV_8SC2, NUM:9
00000000 00000000 00000000 00010001 CV_8SC3, NUM:17
00000000 00000000 00000000 00011001 CV_8SC4, NUM:25
00000000 00000000 00000000 00000010 CV_16UC1, NUM:2
00000000 00000000 00000000 00001010 CV_16UC2, NUM:10
00000000 00000000 00000000 00010010 CV_16UC3, NUM:18
00000000 00000000 00000000 00011010 CV_16UC4, NUM:26
00000000 00000000 00000000 00000011 CV_16SC1, NUM:3
00000000 00000000 00000000 00001011 CV_16SC2, NUM:11
00000000 00000000 00000000 00010011 CV_16SC3, NUM:19
00000000 00000000 00000000 00011011 CV_16SC4, NUM:27
00000000 00000000 00000000 00000100 CV_32SC1, NUM:4
00000000 00000000 00000000 00001100 CV_32SC2, NUM:12
00000000 00000000 00000000 00010100 CV_32SC3, NUM:20
00000000 00000000 00000000 00011100 CV_32SC4, NUM:28
00000000 00000000 00000000 00000101 CV_32FC1, NUM:5
00000000 00000000 00000000 00001101 CV_32FC2, NUM:13
00000000 00000000 00000000 00010101 CV_32FC3, NUM:21
00000000 00000000 00000000 00011101 CV_32FC4, NUM:29
00000000 00000000 00000000 00000110 CV_64FC1, NUM:6
00000000 00000000 00000000 00001110 CV_64FC2, NUM:14
00000000 00000000 00000000 00010110 CV_64FC3, NUM:22
00000000 00000000 00000000 00011110 CV_64FC4, NUM:30
01111111 11111111 11111111 11111111 CV_AUTO_STEP, 0x7fffffff
00000000 00000000 00001111 11111000 CV_MAT_CN_MASK
00000000 00000000 00001111 11111111 CV_MAT_TYPE_MASK
00000000 00000000 01000000 00000000 CV_MAT_CONT_FLAG
00000000 00000000 10000000 00000000 CV_SUBMAT_FLAG
11111111 11111111 00000000 00000000 CV_MAGIC_MASK, 0xFFFF0000
01000010 01000010 00000000 00000000 CV_MAT_MAGIC_VAL, 0x42420000
マクロ定義
/****************************************************************************************\
* Matrix type (CvMat) *
\****************************************************************************************/
#define CV_CN_MAX 512
#define CV_CN_SHIFT 3
#define CV_DEPTH_MAX (1 << CV_CN_SHIFT)
#define CV_8U 0
#define CV_8S 1
#define CV_16U 2
#define CV_16S 3
#define CV_32S 4
#define CV_32F 5
#define CV_64F 6
#define CV_USRTYPE1 7
#define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1)
#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK)
#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
#define CV_MAKE_TYPE CV_MAKETYPE
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
#define CV_AUTO_STEP 0x7fffffff
#define CV_WHOLE_ARR cvSlice( 0, 0x3fffffff )
#define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT)
#define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1)
#define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_CONT_FLAG_SHIFT 14
#define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT)
#define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG)
#define CV_IS_CONT_MAT CV_IS_MAT_CONT
#define CV_SUBMAT_FLAG_SHIFT 15
#define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT)
#define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG)
#define CV_MAGIC_MASK 0xFFFF0000
#define CV_MAT_MAGIC_VAL 0x42420000
#define CV_TYPE_NAME_MAT "opencv-matrix"
00000000 00000000 00000000 00000000 NUM:0
00000000 00000000 00000000 00000001 NUM:1
00000000 00000000 00000000 00000010 NUM:2
00000000 00000000 00000000 00000011 NUM:3
00000000 00000000 00000000 00000100 NUM:4
00000000 00000000 00000000 00000101 NUM:5
00000000 00000000 00000000 00000110 NUM:6
00000000 00000000 00000000 00000111 NUM:7
00000000 00000000 00000000 00001000 NUM:8
00000000 00000000 00000000 00001001 NUM:9
00000000 00000000 00000000 00001010 NUM:10
00000000 00000000 00000000 00001011 NUM:11
00000000 00000000 00000000 00001100 NUM:12
00000000 00000000 00000000 00001101 NUM:13
00000000 00000000 00000000 00001110 NUM:14
00000000 00000000 00000000 00001111 NUM:15
00000000 00000000 00000000 00010000 NUM:16
00000000 00000000 00000000 00010001 NUM:17
00000000 00000000 00000000 00010010 NUM:18
00000000 00000000 00000000 00010011 NUM:19
00000000 00000000 00000000 00010100 NUM:20
00000000 00000000 00000000 00010101 NUM:21
00000000 00000000 00000000 00010110 NUM:22
00000000 00000000 00000000 00010111 NUM:23
00000000 00000000 00000000 00011000 NUM:24
00000000 00000000 00000000 00011001 NUM:25
00000000 00000000 00000000 00011010 NUM:26
00000000 00000000 00000000 00011011 NUM:27
00000000 00000000 00000000 00011100 NUM:28
00000000 00000000 00000000 00011101 NUM:29
00000000 00000000 00000000 00011110 NUM:30
10000000 00000000 00000000 00000000 FIXED_TYPE
01000000 00000000 00000000 00000000 FIXED_SIZE
00111111 11111111 00000000 00000000 KIND_MASK
00000000 00000000 00000000 00000000 NONE
00000000 00000001 00000000 00000000 MAT
00000000 00000010 00000000 00000000 MATX
00000000 00000011 00000000 00000000 STD_VECTOR
00000000 00000100 00000000 00000000 STD_VECTOR_VECTOR
00000000 00000101 00000000 00000000 STD_VECTOR_MAT
00000000 00000110 00000000 00000000 EXPR
00000000 00000111 00000000 00000000 OPENGL_BUFFER
00000000 00001000 00000000 00000000 OPENGL_TEXTURE
00000000 00001001 00000000 00000000 GPU_MAT
00000000 00001010 00000000 00000000 OCL_MAT
00000000 00000000 00000000 00001000 CV_DEPTH_MAX, NUM:8
00000000 00000000 00000000 00000111 CV_MAT_DEPTH_MASK, NUM:7
00000000 00000000 00000000 00000000 CV_8UC1, NUM:0
00000000 00000000 00000000 00001000 CV_8UC2, NUM:8
00000000 00000000 00000000 00010000 CV_8UC3, NUM:16
00000000 00000000 00000000 00011000 CV_8UC4, NUM:24
00000000 00000000 00000000 00000001 CV_8SC1, NUM:1
00000000 00000000 00000000 00001001 CV_8SC2, NUM:9
00000000 00000000 00000000 00010001 CV_8SC3, NUM:17
00000000 00000000 00000000 00011001 CV_8SC4, NUM:25
00000000 00000000 00000000 00000010 CV_16UC1, NUM:2
00000000 00000000 00000000 00001010 CV_16UC2, NUM:10
00000000 00000000 00000000 00010010 CV_16UC3, NUM:18
00000000 00000000 00000000 00011010 CV_16UC4, NUM:26
00000000 00000000 00000000 00000011 CV_16SC1, NUM:3
00000000 00000000 00000000 00001011 CV_16SC2, NUM:11
00000000 00000000 00000000 00010011 CV_16SC3, NUM:19
00000000 00000000 00000000 00011011 CV_16SC4, NUM:27
00000000 00000000 00000000 00000100 CV_32SC1, NUM:4
00000000 00000000 00000000 00001100 CV_32SC2, NUM:12
00000000 00000000 00000000 00010100 CV_32SC3, NUM:20
00000000 00000000 00000000 00011100 CV_32SC4, NUM:28
00000000 00000000 00000000 00000101 CV_32FC1, NUM:5
00000000 00000000 00000000 00001101 CV_32FC2, NUM:13
00000000 00000000 00000000 00010101 CV_32FC3, NUM:21
00000000 00000000 00000000 00011101 CV_32FC4, NUM:29
00000000 00000000 00000000 00000110 CV_64FC1, NUM:6
00000000 00000000 00000000 00001110 CV_64FC2, NUM:14
00000000 00000000 00000000 00010110 CV_64FC3, NUM:22
00000000 00000000 00000000 00011110 CV_64FC4, NUM:30
01111111 11111111 11111111 11111111 CV_AUTO_STEP, 0x7fffffff
00000000 00000000 00001111 11111000 CV_MAT_CN_MASK
00000000 00000000 00001111 11111111 CV_MAT_TYPE_MASK
00000000 00000000 01000000 00000000 CV_MAT_CONT_FLAG
00000000 00000000 10000000 00000000 CV_SUBMAT_FLAG
11111111 11111111 00000000 00000000 CV_MAGIC_MASK, 0xFFFF0000
01000010 01000010 00000000 00000000 CV_MAT_MAGIC_VAL, 0x42420000
/****************************************************************************************\
* Matrix type (CvMat) *
\****************************************************************************************/
#define CV_CN_MAX 512
#define CV_CN_SHIFT 3
#define CV_DEPTH_MAX (1 << CV_CN_SHIFT)
#define CV_8U 0
#define CV_8S 1
#define CV_16U 2
#define CV_16S 3
#define CV_32S 4
#define CV_32F 5
#define CV_64F 6
#define CV_USRTYPE1 7
#define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1)
#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK)
#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
#define CV_MAKE_TYPE CV_MAKETYPE
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
#define CV_AUTO_STEP 0x7fffffff
#define CV_WHOLE_ARR cvSlice( 0, 0x3fffffff )
#define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT)
#define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1)
#define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1)
#define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK)
#define CV_MAT_CONT_FLAG_SHIFT 14
#define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT)
#define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG)
#define CV_IS_CONT_MAT CV_IS_MAT_CONT
#define CV_SUBMAT_FLAG_SHIFT 15
#define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT)
#define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG)
#define CV_MAGIC_MASK 0xFFFF0000
#define CV_MAT_MAGIC_VAL 0x42420000
#define CV_TYPE_NAME_MAT "opencv-matrix"