首页 > 其他 > 详细

OpenCV__type()返回的数字

时间:2018-08-28 16:00:32      阅读:191      评论:0      收藏:0      [点我收藏+]

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()返回的数字

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!