CV_* - 通道库

前言

阵列的数据类型定义了为阵列的每个元素(图片中的像素)分配的比特数以及如何使用这些比特数表示元素的值。

单通道阵列

Returns the depth of a matrix element.

The method returns the identifier of the matrix element depth (the type of each individual channel). For example, for a 16-bit signed element array, the method returns CV_16S . A complete list of matrix types contains the following values:

CV_8U (8 bit 无符号整数)8-bit unsigned integers ( 0..255 )

CV_8S (8 bit 有符号整数)8-bit signed integers ( -128..127 )

CV_16U(16 bit 无符号整数)16-bit unsigned integers ( 0..65535 )

CV_16S (16 bit 有符号整数)16-bit signed integers ( -32768..32767 )

CV_32S (32 bit 有符号整数)32-bit signed integers ( -2147483648..2147483647 )

CV_32F (32 bit 浮点数)32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )

CV_64F (64 bit 浮点数)64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )

图像数据在计算机内存中的存储顺序为以图像最左上点(也可能是最左下点)开始。

举例来说:下图展示了一个使用8 bit无符号整数的单通道阵列。因为数据类型是8 bit无符号整数,因此这个阵列的每个元素为0-255的值。

CV_* - 通道库_第1张图片
单通道图像


多通道阵列

CV_8UC1 (单通道阵列,8 bit 无符号整数)

CV_8UC2 (2通道阵列,8 bit 无符号整数)

CV_8UC3 (3通道阵列,8 bit 无符号整数)

CV_8UC4 (4通道阵列,8 bit 无符号整数)

CV_8UC(n) (n通道阵列,8 bit 无符号整数 (n 可以从 1 到 512) )

举例来说:下图展示了一个使用8 bit 无符号整数的3通道阵列。因为数据类型是8 bit无符号整数,因此这个阵列的每个元素为0-255的值。由于是3通道阵列,所以阵列由带有3个元素的元组组成,第一个元组是{122, 102, 32},第二个元组是 {58, 78, 185} ,以此类推。

CV_* - 通道库_第2张图片

IPIIMage位深度

用于指定图像中的每个像素可以使用的颜色信息数量。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就更逼真。

就是说位深度位1的图像可能有两个值:黑色和白色,位深度位8的图像由2^8 (256)个可能的值。例如:位深度位8的灰色模式图像由256种灰色。

RGB图像有三个颜色通道组成。8位/像素的RGB图像中每个通道有256个值。所以RGB有256*256*256个值。


回到正题

构造方法(行数(高度),列数(宽度),阵列)

OpenCV 模版Vec

typedef Vec Vec2b

typedef Vec Vec3b

typedef Vec Vec4b


typedef Vec Vec2s

typedef Vec Vec3s

typedef Vec Vec4s


typedef Vec Vec2i

typedef Vec Vec3i

typedef Vec Vec4i


typedef Vec Vec2f

typedef Vec Vec3f

typedef Vec Vec4f

typedef Vec Vec6f


typedef Vec Vec2d

typedef Vec Vec3d

typedef Vec Vec4d

typedef Vec Vec6d

例如 单通道CV_8UC1

CV_* - 通道库_第3张图片
CV_8UC1

RGB:

CV_* - 通道库_第4张图片
RGB

其代码效果:

CV_* - 通道库_第5张图片
代码效果

持续更新中...

你可能感兴趣的:(CV_* - 通道库)