opencv中的CV_MAKETYPE及其他相关基本类型定义
2016-11-07 10:49
381 查看
opencv中的CV_MAKETYPE及其他相关基本类型定义
在文件Cvdef.h(路径为opencv\sources\modules\core\include\opencv2\core)中,可以看到opencv中类似于CV_8U等描述图像结构的定义:在这里,我们称类似CV_8U的宏定义为“图像类型描述符”。从上图看出,所有的“图像类型描述符”均经由一个叫做 CV_MAKETYPE的宏来定义。根据上述代码,我们可以推导出公式:
CV_MAKETYPE(depth,cn)=(cn-1)*8+depth
通过这个公式,我们可以定义CV_8UC1,CV_8UC4。。。一直到CV_64UC4的“图像类型描述符”,而且保证了他们的值不会冲突。
#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_8UC1 CV_MAKETYPE(CV_8U,1)//=1 #define CV_8UC2 CV_MAKETYPE(CV_8U,2)//=2 #define CV_8UC3 CV_MAKETYPE(CV_8U,3)//=3 #define CV_8UC4 CV_MAKETYPE(CV_8U,4)//=4 #define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))//=n%8(取余)+0*8 #define CV_8SC1 CV_MAKETYPE(CV_8S,1)//=9 #define CV_8SC2 CV_MAKETYPE(CV_8S,2)//=10 #define CV_8SC3 CV_MAKETYPE(CV_8S,3)//=11 #define CV_8SC4 CV_MAKETYPE(CV_8S,4)//=12 #define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))//=n%8+1*8 ... #define CV_64FC1 CV_MAKETYPE(CV_64F,1)//=49 #define CV_64FC2 CV_MAKETYPE(CV_64F,2)//=50 #define CV_64FC3 CV_MAKETYPE(CV_64F,3)//=51 #define CV_64FC4 CV_MAKETYPE(CV_64F,4)//=52 #define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))//=n%8+6*8
相关文章推荐
- opencv中的CV_MAKETYPE及其他相关基本类型定义(2)
- opencv中图像的基本结构 类型的定义
- Java与VC中的基本数据类型的相关知识
- opencv中的Mat类型的相关概念
- pg学习_基本表定义_数据类型
- opencv 2.x学习笔记(四)基本数据类型(二)
- OpenCV学习笔记 -- 基本数据类型
- 【OpenCV】基本数据类型、IplImage数据结构
- 学习opencv第三章 基本数据类型 ,矩阵创建,操作,访问
- c++ Premier 学习笔记(unit2 变量和基本类型 -声明与定义
- OpenCV基本数据类型
- OpeCV中常用基本数据类型的定义分析之二
- opencv的cv::Mat类型与qt的QImage类型互转
- Java中基本数据类型的存储方式和相关内存的处理方式
- OpenCV中利用cvConvertScale()将图像的数据类型由u8转化为64f...
- 基本数据类型的包装类型作为参数传递,以及其他引用类型作为参数传递,以及List中值的交换的一些问题
- 转载 :struct sockaddr_in等Socket编程相关数据类型定义
- Java中基本数据类型的存储方式和相关内存的处理方式
- day26数据库基本类型、常用函数、变量的定义、循环
- java基本数据类型及其他基础