码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV__type()返回的数字

时间:2018-08-28 16:17:56      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:fine   make   mask   形式   不同的   lag   code   shift   efi   

OpenCV中的类型以宏定义的形式给出

type_c.h中片段

#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_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))

其中channel中有1、2、3通道,flag有CV_8U、CV_8S等八种分别以0~7数字表示。
通道cn-1左移三位加上flag即为cv::Mat::type()的返回值。

通过返回值判断类型

返回值n除8取整加1为channel,所得的余数即为不同的flag。

OpenCV__type()返回的数字

标签:fine   make   mask   形式   不同的   lag   code   shift   efi   

原文地址:https://www.cnblogs.com/narjaja/p/9548682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!