opencv 存储的图像类型

OpenCV 图像格式.md

图像深度

图像位深度=比特数+数据类型
C++中OpenCV库的获取方式:(函数原型)

int Mat::depth()

下表是返回值以及对应含义

图像深度枚举数值空间大小范围等同C++变量
CV_8U08bits0~255unsigned char或uint8_t
CV_8S18bits-128~127char或int8_t
CV_16U216bits0~65535ushort,unsigned short int,unsigned short或uint16_t
CV_16S316bits-32768~32767short,short int或int16_t
CV32S432bits-2147483648~2147483647int,long或int32_t/int64_t
CV32F532bits1.18e-38~3.40e38float或
CV_64F664bits2.23e-308~1.79e308double或
CV_USRTYPE17-

图像通道数

C++中OpenCV库的获取方式:(函数原型)

int Mat:channels()

图像类型

图像类型=比特数+数据类型+通道数
存储元素的数据类型:

CV_[位数][带符号与否][类型前缀]C[通道数]

带符号与否:S为符号整型,U为无符号整型,F为浮点型
C++中OpenCV库的获取方式:(函数原型)

int Mat::type()

具体数据类型与返回值关系:

类型C1C2C3C4
CV_8U081624
CV_8S191725
CV_16U2101826
CV_16S3111927
CV_32S4122028
CV_32F5132129
CV_64F6142230
用户定义7

单个元素的访问

种类C1C2C3C4C6
uchar8Uucharcv::Vec2bcv::Vec3bcv::Vec4b
char8S
ushort16U
short16Sshortcv::Vec2scv::Vec3scv::Vec4s
int32Sintcv::Vec2icv::Vec3icv::Vec4i
float32Ffloatcv::Vec2fcv::Vec3fcv::Vec4fcv::Vec6f
double64Fdoublecv::Vec2dcv::Vec3dcv::Vec4dcv::Vec6d

示例如下:

cv::Vec3b vec3b      = img.at<cv::Vec3b>(0,0);
uchar     vec3b0     = img.at<cv::Vec3b>(0,0)[0];
uchar     vec3b1     = img.at<cv::Vec3b>(0,0)[1];
uchar     vec3b2     = img.at<cv::Vec3b>(0,0)[2];
std::cout<<"vec3b = "<<vec3b<<std::endl;
std::cout<<"vec3b0 = "<<(int)vec3b0<<std::endl;
std::cout<<"vec3b1 = "<<(int)vec3b1<<std::endl;
std::cout<<"vec3b2 = "<<(int)vec3b2<<std::endl;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值