当前位置:网站首页>OpenCV宏定义
OpenCV宏定义
2022-07-28 21:54:00 【Rolandxxx】
预处理指令: 以#开头的行都是预处理指令,用于指示编译器做一些预处理工作,预处理实现的是文本替换而不是值替换,预处理指令不是语句,所以行尾不要加分号。
#define为宏定义,有两种用法:
1)定义一个数值
#define Pi 3.14 //注意宏是把Pi换成3.14而不是把3.14换成Pi
2)定义一个算式
以下是OpenCV的宏:
#define CV_8U 0表示的是CV_8U会在预处理时被编译器替换为0,有什么意义呢?举个例子,因为这样就可以用作判断了,如此时的type是CV_8U,可以用if(type==0)语句,因为CV_8U被替换成了0,所以此时就满足条件进入if语句
//矩阵数据类型:
// – CV_<bit_depth>(S|U|F)C<number_of_channels>
//S = 符号整型 U = 无符号整型 F = 浮点型
//其中,通道表示每个点能存放多少个数,类似于RGB彩色图中的每个像素点有三个值,即三通道的。图片中的深度表示每个值由多少位来存储,是一个精度问题,一般图片是8bit(位)的,则深度是8.
//CV_8U是数据类型表示8位无符号整数(0..255)
#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_16F 7
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
#define CV_16FC1 CV_MAKETYPE(CV_16F,1)
#define CV_16FC2 CV_MAKETYPE(CV_16F,2)
#define CV_16FC3 CV_MAKETYPE(CV_16F,3)
#define CV_16FC4 CV_MAKETYPE(CV_16F,4)
#define CV_16FC(n) CV_MAKETYPE(CV_16F,(n))
边栏推荐
- 事件抽取文献整理(2018)
- 解决线程安全问题&&单例模式
- 剑指 Offer 64. 求1+2+…+n,逻辑运算符短路效应
- 金仓数据库KingbaseES 客户端编程接口指南 - ODBC (2. 概述)
- Why did "you" become a test / development programmer? The value of your existence
- MySQL log management, backup and recovery
- Mycms we media mall V3.6 release, compatible with micro engine application development (laravel framework)
- Rhce第二天
- 金仓数据库 KingbaseES V8.3至V8.6迁移最佳实践(3. KingbaseES移植能力支撑体系)
- 新一代超安全蜂窝电池 思皓爱跑上市13.99万元起售
猜你喜欢
随机推荐
22牛客多校day1 I - Chiitoitsu 概论dp
xss.haozi.me靶场详解
Ape anthropology topic 20
What's special about this wireless router, which is popular in the whole network?
超参数优化(网格搜索和贝叶斯优化)
How does VR panorama entrepreneurship expand the market? How to make the road of entrepreneurship smoother?
【自】-刷题-峰值
类中多函数填写,LeetCode919——完全二叉树插入器
使用这个,你发的消息就无法被监控了
Media query adaptation
2022 R2 mobile pressure vessel filling test question simulation test platform operation
Merkle tree
CV语义分割模型小抄(2)
编译原理研究性学习专题 2——递归下降语法分析设计原理与实现
集火全屋智能“后装市场”,真正玩得转的没几个
酒店预订系统数据库房间库存设计思路
MySQL log management, backup and recovery
解决线程安全问题&&单例模式
深度剖析集成学习Xgboost(续)
Combination of smart TV and applet



![[self] - brush questions logic](/img/d8/8c880a85b41d6a196ff4e374b46e5d.png)





