当前位置: 首页 > news >正文

Opencv: cv::Mat支持的类型汇总

OpenCV 里 cv::Mat 的类型 是由两个维度组合起来的:

  1. 数据深度(Depth) → 决定每个元素的存储格式(位数、是否浮点)

  2. 通道数(Channels) → 决定每个像素包含多少个值(如灰度图是 1,RGB 是 3,RGBA 是 4)

1️⃣ 数据深度(Depth)

OpenCV 常用的深度常量:

常量每通道位数C++ 类型范围(无符号/有符号)
CV_8U8-bitunsigned char0 ~ 255
CV_8S8-bitsigned char-128 ~ 127
CV_16U16-bitunsigned short0 ~ 65535
CV_16S16-bitshort-32768 ~ 32767
CV_32S32-bitint-2,147,483,648 ~ 2,147,483,647
CV_32F32-bitfloat约 ±3.4e38(7 位有效数字)
CV_64F64-bitdouble约 ±1.8e308(15 位有效数字)

2️⃣ 通道数(Channels)

  • 通道数是 1~512 的整数(常见 1、2、3、4)

  • 灰度图 → 1 通道

  • RGB → 3 通道

  • RGBA → 4 通道

3️⃣ 组合成完整类型

OpenCV 用宏 CV_<位深度><S/U/F><通道数> 表示类型,例如:

常量解释
CV_8UC18 位无符号,1 通道(灰度图)
CV_8UC38 位无符号,3 通道(RGB)
CV_8UC48 位无符号,4 通道(RGBA)
CV_16SC116 位有符号,1 通道
CV_16UC316 位无符号,3 通道
CV_32FC132 位浮点,1 通道
CV_32FC332 位浮点,3 通道
CV_64FC164 位浮点,1 通道
CV_64FC464 位浮点,4 通道

4️⃣ 查看 Mat 的类型

cv::Mat img = cv::imread("test.png");
std::cout << img.type() << std::endl; // 输出类型编号

http://www.dtcms.com/a/315791.html

相关文章:

  • 当送餐机器人学会“思考“:Deepoc如何赋予机器人具身智能
  • AI-03a1.Python深度学习-Tensorflow和Keras入门
  • eBay退货管理深度解析:筑牢售后防线,驱动账号长效稳健发展
  • AutoSar AP LT规范中 建模消息和非建模消息都可以使用LogInfo() API吗?
  • visual studio 历史版本安装
  • FLAN-T5:大规模指令微调的统一语言模型框架
  • 为什么要选择时序数据库IoTDB?
  • Redis实现可重入锁
  • “Why“比“How“更重要:层叠样式表CSS
  • 《C++初阶之STL》【模板参数 + 模板特化 + 分离编译】
  • @【JCIDS】【需求论证】联合能力集成与开发系统知识图谱
  • 机器学习通关秘籍|Day 03:决策树、随机森林与线性回归
  • 【工程化】tree-shaking 的作用以及配置
  • Android Framework代码屏蔽未接来电振动及声音通知
  • DHTMLX重磅发布React Scheduler组件,赋能日程管理开发!
  • SELinux加固Linux安全
  • 将普通用户添加到 Docker 用户组
  • 第十七天:原码、反码、补码与位运算
  • RAFT:让语言模型更聪明地用文档答题
  • Java从入门到精通 - 集合框架(一)
  • 最长连续序列(每天刷力扣hot100系列)
  • FastDeploy2.0:报qwen2.embed_tokens.weight
  • 2.4 组件通信
  • 24. 前端-js框架-Vue
  • Occ3D: A Large-Scale 3D Occupancy Prediction Benchmark for Autonomous Driving
  • Python高级编程与实践:Python性能分析与优化
  • Java技术栈/面试题合集(3)-Java并发篇
  • 【功能测试】软件功能上线测试经验总结
  • 场外个股期权的额度为何受限?
  • java web 服务员点餐系统demo 比较完整的前端后端+mysql + 图片上传 练习