类似CV_8UC1是Mat的类型,其定义为type = CV_(位数)+(数据类型)+(通道数)。

CV_8UC1=0    CV_8UC2=8    CV_8UC3=16   CV_8UC4=24  ————depth:0
CV_8SC1=1     CV_8SC2=9    CV_8SC3=17    CV_8SC4=25  ————depth:1
CV_16UC1=2    CV_16UC2=10    CV_16UC3=18   CV_16UC4=26  ————depth:2
CV_16SC1=3   CV_16SC2=11   CV_16SC3=19   CV_16SC4=27  ————depth:3
CV_32SC1=4   CV_32SC2=12   CV_32SC3=20   CV_32SC4=28  ————depth:4
CV_32FC1=5   CV_32FC2=13   CV_32FC3=21   CV_32FC4=29  ————depth:5
CV_64FC1=6   CV_64FC2=14   CV_64FC3=22   CV_64FC4=30  ————depth:6

这里U(unsigned integer)表示的是无符号整数,S(signed integer)是有符号整数,F(float)是浮点数。 
例如:CV_16UC2,表示的是元素类型是一个16位的无符号整数,通道为2. 
C1,C2,C3,C4则表示通道数是1,2,3,4

elemSize 
矩阵一个元素占用的字节数,例如:type是CV_16SC3,那么elemSize = 3 * 16 / 8 = 6 bytes

elemSize1 
矩阵元素一个通道占用的字节数,例如:type是CV_16CS3,那么elemSize1 = 16  / 8 = 2 bytes = elemSize / channels

data  uchar型的指针。Mat类分为了两个部分:矩阵头和指向矩阵数据部分的指针,data就是指向矩阵数据的指针。

矩阵数据类型

– CV_<bit_depth>(S|U|F)C<number_of_channels>
S = 符号整型 U = 无符号整型 F = 浮点型

CV_8UC1 是指一个8位无符号整型单通道矩阵,
CV_32FC2是指一个32位浮点型双通道矩阵
CV_8UC1 CV_8SC1 CV_16U C1 CV_16SC1
CV_8UC2 CV_8SC2 CV_16UC2 CV_16SC2
CV_8UC3 CV_8SC3 CV_16UC3 CV_16SC3
CV_8UC4 CV_8SC4 CV_16UC4 CV_16SC4
CV_32SC1 CV_32FC1 CV_64FC1
CV_32SC2 CV_32FC2 CV_64FC2
CV_32SC3 CV_32FC3 CV_64FC3
CV_32SC4 CV_32FC4 CV_64FC4

其中,通道表示每个点能存放多少个数,类似于RGB彩色图中的每个像素点有三个值,即三通道的。
图片中的深度表示每个值由多少位来存储,是一个精度问题,一般图片是8bit(位)的,则深度是8.

convertScaleAbs

  • 0-255 :CV_8U类型图片
  • 0-65535: CV_16U类型图片
  • 0-1: CV_32F类型图片

深度显示范围:(说当定义了如下不同深度的时候,像素的灰度值要处于显示范围之中才可以显示出来。否则要进行转换)

测试double型:0.0--1.0之间                              IPL_DEPTH_64F

测试float型:0.0--1.0之间                                  IPL_DEPTH_32F

测试long型:0--65535之间                                IPL_DEPTH_32S

测试short int型:-32768--32767之间                 IPL_DEPTH_16S

测试unsigned short int型:0--65535之间           IPL_DEPTH_16U

测试char型:-128--127之间                               IPL_DEPTH_8S

测试unsigned char型:0--255之间                     IPL_DEPTH_8U

 不同深度图像的转换

要注意范围
比如IPL_DEPTH_8U 转到 IPL_DEPTH_32U 要用cvConvertScale(pImg8, pImg32, 1.0/255, 0); 要除255。
反过来IPL_DEPTH_32F 到 IPL_DEPTH_8U 要:cvConverScale(pImg32, pImg8, 255, 0); 要乘以255。

Mat depth1;
depth.convertTo(depth1,CV_16U,1.0/500);
convertTo 用于将对象图像像素格式转换为指定像素格式。
第三个参数为缩放因子,即图像每个像素值除以500,注意为double类型

opencv-图像位深度相关推荐

  1. 【python】查看图像位深度,改变图像位深度

    1.什么是位深度 单个像素点(一个通道)上需要用多少比特(bit)来存储数据,常见的是8位 8位,像素点的范围是0-255(256个值),[255转二进制为11111111]因此位深度是8 2.深色 ...

  2. 【python】查看图像位深度,以及改变图像位深度的简单小结

    every blog every motto: Just live your life cause we don't live twice. 0. 前言 关于图像位深度,色深的小结 说明: 有不对的地 ...

  3. 图像位深度 8位 16位 24位 32位区别对比 RGB 真彩色 基本概念:(大小,深度,通道)位深度数据类型转换原理 Mat数据读取(opencv里的imread)

    位深度 位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的.计算机之所以能够显示颜色,是采用了一种称作"位"( bit ) 的记数单位来记录所表 ...

  4. python之查看图像位深度,以及改变图像位深度

    1.code from PIL import Image img = Image.open('D:\\image_for_test\\Spee.jpg') print(img.getbands()) ...

  5. 位深度讲解,opencv8位单通道和32位单通道解析

    在记录数字图像的颜色时,计算机实际是用每个像素需要的位深度来表示的,黑白二色的图像是数字图像中最简单的一种,它只有黑.白两种颜色,也就是说它的每个像素只有1位颜色,位深度是1,用2的一次幂来表示:考虑 ...

  6. matlab修改图片位深度_MATLAB 图像处理

    MATLAB 图像处理 基础 简介 图像类型 灰度图像 二值图像 RGB图像 索引图像 颜色图 colorcube 获取颜色图 colormap 更改颜色图 HSV彩色空间 rgb2hsv 将RGB颜 ...

  7. opencv 保存读取16位深度的图像

    1.项目中遇到需要保存16位深度的png图像,用来加速算法减少耗时并且数据从文本文档转换为png占用更小的flash,一举多得:     IplImage *caimage = cvCreateIma ...

  8. opencv图像深度-1_OpenCV空间AI竞赛之旅(第1部分-初始设置+深度)

    opencv图像深度-1 OpenCV空间AI竞赛 (OpenCV Spatial AI Competition) Recently, the people at OpenCV launched th ...

  9. Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#)

    Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#) Baumer工业相机 Baumer工业相机保存位深度12/16 ...

  10. Opencv 图像深度+转换深度

    1. opencv 图像深度 图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像 ...

最新文章

  1. nginx 正则匹配优化(一)
  2. 设计模式之建造者模式(01)
  3. 数字图像处理资料集锦(Python、C++、Matlab)
  4. Android系统的开机画面显示过程分析(8)
  5. 使用CMake与VS2012编译OpenCV3.3.0版本
  6. 【C语言】数组 - 冒泡排序法
  7. Flink-1.11.1 Flink-SQL日期函数的一个坑
  8. uniapp阿里云图标库如何本地引入
  9. 思科模拟器路由表怎么看_思科路由器查看配置命令
  10. Python + Graphviz 绘制神经网络结构图
  11. 剑指offer(专项突破版):数据结构与算法名企面试题精讲 刷题记录
  12. 二叉搜索树前序序列转后序序列(或相反)
  13. 层次分析法的缺点和改进
  14. 使用 PD Recover 恢复 PD 集群
  15. P2749 夜空繁星
  16. Docker Compose方式安装GitLab
  17. adb安装应用失败,错误码整理
  18. (字节流与字符流)InputStream字节输入流
  19. DeepHPV:一个用于预测HPV整合人类基因位点的深度学习模型
  20. 量化交易 米筐 因子的打分对比(因子的对比与挑选)

热门文章

  1. 【灰色神经预测】基于布谷鸟算法优化灰色神经网络模型实现数据回归预测含Matlab源码
  2. 微分方程4_傅里叶级数
  3. HSC490控制器调试笔记(一)
  4. 阿里妈妈成最大广告交易网络平台
  5. A. Spring Couplets
  6. linux教程 课件,linux PPT教程.ppt
  7. [vSphere]重置administrator账户口令
  8. 关于免费实现外网访问内网的经验
  9. 马斯克“星链”迈出商用第一步,被美军方盯上,或为GPS“备胎”-1
  10. 为SEO学习Python 分享7个技巧帮助你做数据分析工作