Mar 02, 2018 原创文章
Opencv3 Mat 结构像素值存储细节
在Opencv3 中常使用Mat 结构保存图像或数据。
深度 Depth
Mat 结构的深度类型一般有以下6种
类型 | 解释 | 变量类型 |
---|---|---|
CV_8U | 单通道8位无符号整数 | unsigned char |
CV_8S | 单通道8位有符号整数 | char |
CV_16S | 单通道16位有符号整数 | short int |
CV_32S | 单通道32位有符号整数 | int |
CV_32F | 单通道32位单精度浮点数 | float |
CV_64F | 单通道64位双精度浮点数 | double |
通道数 Channels
在Opencv中mat 的通道数可以为1、2、3、4
单通道Mat
CV_8U 或 CV_32F:一般用来保存灰度图像
双通道Mat
CV_32FC2:一般用来保存图像的频谱数据,通道1用来存储实部数据,通道2用来存储虚部数据
三通道Mat
CV_8UC3 或 CV_32FC3:一般用来存储RGB图像,通道1用来存储B分量,通道2用来存储G分量,通道3用来存储R分量。对应分量的值为0~255或0~1。
四通道Mat
CV_8UC4 或 CV_32FC4:一般用来存储RGBA图像,相比于三通道的RGB图像,RGBA图像的第四个通道用来存储 Alpha 值,表示图像的透明值,范围为0~255或0~1,表示透明到不透明。
存储结构
以CV_32FC3类型说明Mat类型的存储结构。CV_32FC3 为3通道32位单精度浮点类型Mat结构,每个像素点具有三个通道,每个通道的值的范围为0~1,且该像素点的不同通道的值交错排在一起。