opencv中Mat的属性

本文详细解读了OpenCV中Mat类型的各种属性,如CV_8UC1等类型的定义,解释了它们如何表示不同位数、数据类型及通道数。同时,也介绍了elemSize、elemSize1和data指针的概念,帮助读者更好地理解Mat类的内部结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类似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就是指向矩阵数据的指针。

转载于:https://www.cnblogs.com/walker-lin/p/11099857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值