Opencv常见图像格式数据类型的使用方法

介绍

Opencv常见图像格式数据类型的使用方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>简历::垫图像格式(数据类型)命名规则

通用的参数命名格式为:

CV_{元素比特数}{元素类型}C{通道数}

1最常见的CV_8UC3就表示为3通道Unsigned 8位格式的矩阵

    <李> 8 u: 8位无符号 <李> C3:通道数为3

2有些图片存储格式是32位浮点数,则对应的图像格式为:CV_32FC1, CV_32FC2, CV_32FC3等;

3如果图片存储格式是64位双,则对应的图像格式为:CV_64FC1, CV_64FC2, CV_64FC3等。

<强> int值映射关系

矩阵元素的数据类型也可用不同的int值来替代,其对应关系如下表:

 Opencv常见图像格式数据类型的使用方法

取值范围

 Opencv常见图像格式数据类型的使用方法

<强>在所访问的数据类型

由于在方法接受的是uchar这样的数据类型,而非CV_8U。若是要使用的方法访问数据元素,在已知通道数和每个通道数据类型的情况下,指定给在方法的数据类型如下表所示:

 Opencv常见图像格式数据类型的使用方法

Vec2b:表示每个Vec2b对象中,可以存储2个char(字符型)数据

Vec3b:表示每一个Vec3b对象中,可以存储3个char(字符型)数据,比如可以用这样的对象,去存储RGB图像

Vec4b:表示每一个Vec4b对象中,可以存储4个字符型数据,可以用这样的类对象去存储4通道RGB +α的图

对应的Vec类的定义如下:

template类Vec:公共Matx<_Tp n 1比;{…};

typedef Vec typedef Vec< uchar, 3比;Vec3b;
typedef Vec< uchar, 4比;Vec4b;

typedef Vec<短,2比;Vec2s;
typedef Vec<短,3比;Vec3s;
typedef Vec<短,4比;Vec4s;

typedef Vec typedef Vec< int, 3比;Vec3i;
typedef Vec< int, 4比;Vec4i;

typedef Vec<浮动,2比;Vec2f;
typedef Vec<浮动,3比;Vec3f;
typedef Vec<浮动,4比;Vec4f;
typedef Vec<浮动,6比;Vec6f;

typedef Vec<双,2比;Vec2d;
typedef Vec<双,3比;Vec3d;

typedef Vec<翻倍,4比;Vec4d;
typedef Vec<双,6比;Vec6d;

<强>样例1

使用无参数构造函数,创建垫对象

垫图像=垫();
的形象。创建(4 4 CV_8UC3);

或者

垫m=垫(4 4 CV_8UC3)

此刻表示创建一个4 x4大小的像素块,每个像素都是三通道每个通道的位数都是8位,一个字节的。上述CV_8UC3中的8表示8位,加州大学表示uchar类型,3表示三个通道。

<强>样例2

使用行,列,类型,标量向量四个参数的构造函数创建垫对象

<代码>垫m=垫(4 4、CV_8UC3标量(0、255、255);

或者

<代码>垫m=垫(大小(4,4)、CV_8UC3标量(255,0,0));

同样表示创建一个4 x4的像素块,唯一不一样的是颜色不是默认值而是我们指定的三通道颜色值向量标量(0,255,255)。其中标量向量数目永远是等于通道数目

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

Opencv常见图像格式数据类型的使用方法