opencv-图像位深度
类似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,4elemSize
矩阵一个元素占用的字节数,例如:type是CV_16SC3,那么elemSize = 3 * 16 / 8 = 6 byteselemSize1
矩阵元素一个通道占用的字节数,例如:type是CV_16CS3,那么elemSize1 = 16 / 8 = 2 bytes = elemSize / channelsdata 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-图像位深度相关推荐
- 【python】查看图像位深度,改变图像位深度
1.什么是位深度 单个像素点(一个通道)上需要用多少比特(bit)来存储数据,常见的是8位 8位,像素点的范围是0-255(256个值),[255转二进制为11111111]因此位深度是8 2.深色 ...
- 【python】查看图像位深度,以及改变图像位深度的简单小结
every blog every motto: Just live your life cause we don't live twice. 0. 前言 关于图像位深度,色深的小结 说明: 有不对的地 ...
- 图像位深度 8位 16位 24位 32位区别对比 RGB 真彩色 基本概念:(大小,深度,通道)位深度数据类型转换原理 Mat数据读取(opencv里的imread)
位深度 位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的.计算机之所以能够显示颜色,是采用了一种称作"位"( bit ) 的记数单位来记录所表 ...
- python之查看图像位深度,以及改变图像位深度
1.code from PIL import Image img = Image.open('D:\\image_for_test\\Spee.jpg') print(img.getbands()) ...
- 位深度讲解,opencv8位单通道和32位单通道解析
在记录数字图像的颜色时,计算机实际是用每个像素需要的位深度来表示的,黑白二色的图像是数字图像中最简单的一种,它只有黑.白两种颜色,也就是说它的每个像素只有1位颜色,位深度是1,用2的一次幂来表示:考虑 ...
- matlab修改图片位深度_MATLAB 图像处理
MATLAB 图像处理 基础 简介 图像类型 灰度图像 二值图像 RGB图像 索引图像 颜色图 colorcube 获取颜色图 colormap 更改颜色图 HSV彩色空间 rgb2hsv 将RGB颜 ...
- opencv 保存读取16位深度的图像
1.项目中遇到需要保存16位深度的png图像,用来加速算法减少耗时并且数据从文本文档转换为png占用更小的flash,一举多得: IplImage *caimage = cvCreateIma ...
- opencv图像深度-1_OpenCV空间AI竞赛之旅(第1部分-初始设置+深度)
opencv图像深度-1 OpenCV空间AI竞赛 (OpenCV Spatial AI Competition) Recently, the people at OpenCV launched th ...
- Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#)
Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存(C#) Baumer工业相机 Baumer工业相机保存位深度12/16 ...
- Opencv 图像深度+转换深度
1. opencv 图像深度 图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像 ...
最新文章
- nginx 正则匹配优化(一)
- 设计模式之建造者模式(01)
- 数字图像处理资料集锦(Python、C++、Matlab)
- Android系统的开机画面显示过程分析(8)
- 使用CMake与VS2012编译OpenCV3.3.0版本
- 【C语言】数组 - 冒泡排序法
- Flink-1.11.1 Flink-SQL日期函数的一个坑
- uniapp阿里云图标库如何本地引入
- 思科模拟器路由表怎么看_思科路由器查看配置命令
- Python + Graphviz 绘制神经网络结构图
- 剑指offer(专项突破版):数据结构与算法名企面试题精讲 刷题记录
- 二叉搜索树前序序列转后序序列(或相反)
- 层次分析法的缺点和改进
- 使用 PD Recover 恢复 PD 集群
- P2749 夜空繁星
- Docker Compose方式安装GitLab
- adb安装应用失败,错误码整理
- (字节流与字符流)InputStream字节输入流
- DeepHPV:一个用于预测HPV整合人类基因位点的深度学习模型
- 量化交易 米筐 因子的打分对比(因子的对比与挑选)
热门文章
- 【灰色神经预测】基于布谷鸟算法优化灰色神经网络模型实现数据回归预测含Matlab源码
- 微分方程4_傅里叶级数
- HSC490控制器调试笔记(一)
- 阿里妈妈成最大广告交易网络平台
- A. Spring Couplets
- linux教程 课件,linux PPT教程.ppt
- [vSphere]重置administrator账户口令
- 关于免费实现外网访问内网的经验
- 马斯克“星链”迈出商用第一步,被美军方盯上,或为GPS“备胎”-1
- 为SEO学习Python 分享7个技巧帮助你做数据分析工作