github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/opencv4/include/opencv2/gapi/own/cvdefs.hpp (about) 1 // This file is part of OpenCV project. 2 // It is subject to the license terms in the LICENSE file found in the top-level directory 3 // of this distribution and at http://opencv.org/license.html. 4 // 5 // Copyright (C) 2018 Intel Corporation 6 7 8 #ifndef OPENCV_GAPI_CV_DEFS_HPP 9 #define OPENCV_GAPI_CV_DEFS_HPP 10 11 #if defined(GAPI_STANDALONE) 12 // Simulate OpenCV definitions taken from various 13 // OpenCV interface headers if G-API is built in a 14 // standalone mode. 15 16 // interface.h: 17 18 typedef unsigned char uchar; 19 typedef char schar; 20 21 typedef unsigned short ushort; 22 23 #define CV_CN_MAX 512 24 #define CV_CN_SHIFT 3 25 #define CV_DEPTH_MAX (1 << CV_CN_SHIFT) 26 27 28 #define CV_8U 0 29 #define CV_8S 1 30 #define CV_16U 2 31 #define CV_16S 3 32 #define CV_32S 4 33 #define CV_32F 5 34 #define CV_64F 6 35 #define CV_USRTYPE1 7 36 37 #define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1) 38 #define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK) 39 40 #define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT)) 41 #define CV_MAKE_TYPE CV_MAKETYPE 42 43 #define CV_8UC1 CV_MAKETYPE(CV_8U,1) 44 #define CV_8UC2 CV_MAKETYPE(CV_8U,2) 45 #define CV_8UC3 CV_MAKETYPE(CV_8U,3) 46 #define CV_8UC4 CV_MAKETYPE(CV_8U,4) 47 #define CV_8UC(n) CV_MAKETYPE(CV_8U,(n)) 48 49 #define CV_8SC1 CV_MAKETYPE(CV_8S,1) 50 #define CV_8SC2 CV_MAKETYPE(CV_8S,2) 51 #define CV_8SC3 CV_MAKETYPE(CV_8S,3) 52 #define CV_8SC4 CV_MAKETYPE(CV_8S,4) 53 #define CV_8SC(n) CV_MAKETYPE(CV_8S,(n)) 54 55 #define CV_16UC1 CV_MAKETYPE(CV_16U,1) 56 #define CV_16UC2 CV_MAKETYPE(CV_16U,2) 57 #define CV_16UC3 CV_MAKETYPE(CV_16U,3) 58 #define CV_16UC4 CV_MAKETYPE(CV_16U,4) 59 #define CV_16UC(n) CV_MAKETYPE(CV_16U,(n)) 60 61 #define CV_16SC1 CV_MAKETYPE(CV_16S,1) 62 #define CV_16SC2 CV_MAKETYPE(CV_16S,2) 63 #define CV_16SC3 CV_MAKETYPE(CV_16S,3) 64 #define CV_16SC4 CV_MAKETYPE(CV_16S,4) 65 #define CV_16SC(n) CV_MAKETYPE(CV_16S,(n)) 66 67 #define CV_32SC1 CV_MAKETYPE(CV_32S,1) 68 #define CV_32SC2 CV_MAKETYPE(CV_32S,2) 69 #define CV_32SC3 CV_MAKETYPE(CV_32S,3) 70 #define CV_32SC4 CV_MAKETYPE(CV_32S,4) 71 #define CV_32SC(n) CV_MAKETYPE(CV_32S,(n)) 72 73 #define CV_32FC1 CV_MAKETYPE(CV_32F,1) 74 #define CV_32FC2 CV_MAKETYPE(CV_32F,2) 75 #define CV_32FC3 CV_MAKETYPE(CV_32F,3) 76 #define CV_32FC4 CV_MAKETYPE(CV_32F,4) 77 #define CV_32FC(n) CV_MAKETYPE(CV_32F,(n)) 78 79 #define CV_64FC1 CV_MAKETYPE(CV_64F,1) 80 #define CV_64FC2 CV_MAKETYPE(CV_64F,2) 81 #define CV_64FC3 CV_MAKETYPE(CV_64F,3) 82 #define CV_64FC4 CV_MAKETYPE(CV_64F,4) 83 #define CV_64FC(n) CV_MAKETYPE(CV_64F,(n)) 84 85 // cvdef.h: 86 87 #define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT) 88 #define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1) 89 #define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1) 90 #define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK) 91 #define CV_MAT_CONT_FLAG_SHIFT 14 92 #define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT) 93 #define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG) 94 #define CV_IS_CONT_MAT CV_IS_MAT_CONT 95 #define CV_SUBMAT_FLAG_SHIFT 15 96 #define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT) 97 #define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG) 98 99 ///** Size of each channel item, 100 // 0x8442211 = 1000 0100 0100 0010 0010 0001 0001 ~ array of sizeof(arr_type_elem) */ 101 //#define CV_ELEM_SIZE1(type) \ 102 // ((((sizeof(size_t)<<28)|0x8442211) >> CV_MAT_DEPTH(type)*4) & 15) 103 104 #define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK) 105 106 /** 0x3a50 = 11 10 10 01 01 00 00 ~ array of log2(sizeof(arr_type_elem)) */ 107 #define CV_ELEM_SIZE(type) \ 108 (CV_MAT_CN(type) << ((((sizeof(size_t)/4+1)*16384|0x3a50) >> CV_MAT_DEPTH(type)*2) & 3)) 109 110 #ifndef CV_OVERRIDE 111 # define CV_OVERRIDE override 112 #endif 113 114 // base.h: 115 namespace cv 116 { 117 enum BorderTypes { 118 BORDER_CONSTANT = 0, //!< `iiiiii|abcdefgh|iiiiiii` with some specified `i` 119 BORDER_REPLICATE = 1, //!< `aaaaaa|abcdefgh|hhhhhhh` 120 BORDER_REFLECT = 2, //!< `fedcba|abcdefgh|hgfedcb` 121 BORDER_WRAP = 3, //!< `cdefgh|abcdefgh|abcdefg` 122 BORDER_REFLECT_101 = 4, //!< `gfedcb|abcdefgh|gfedcba` 123 BORDER_TRANSPARENT = 5, //!< `uvwxyz|abcdefgh|ijklmno` 124 125 BORDER_REFLECT101 = BORDER_REFLECT_101, //!< same as BORDER_REFLECT_101 126 BORDER_DEFAULT = BORDER_REFLECT_101, //!< same as BORDER_REFLECT_101 127 BORDER_ISOLATED = 16 //!< do not look outside of ROI 128 }; 129 // imgproc.hpp: 130 enum InterpolationFlags{ 131 INTER_NEAREST = 0, 132 INTER_LINEAR = 1, 133 INTER_CUBIC = 2, 134 INTER_AREA = 3, 135 INTER_LANCZOS4 = 4, 136 INTER_LINEAR_EXACT = 5, 137 INTER_MAX = 7, 138 }; 139 } // namespace cv 140 141 static inline int cvFloor( double value ) 142 { 143 int i = (int)value; 144 return i - (i > value); 145 } 146 147 #endif // defined(GAPI_STANDALONE) 148 149 #endif // OPENCV_GAPI_CV_DEFS_HPP