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