类型、位数、通道数
- Unsigned 8bits
CvMat数据结构参数:CV_8UC1,CV_8UC2,CV_8UC3,CV_8UC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
uchar | 8bits | 0~255 | 默认 |
unsigned char | 8bits | 0~255 |
- Signed 8bits
CvMat数据结构参数:CV_8SC1,CV_8SC2,CV_8SC3,CV_8SC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
char | 8bits | -128~127 |
- Unsigned 16bits
CvMat数据结构参数:CV_16UC1,CV_16UC2,CV_16UC3,CV_16UC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
ushort | 16bits | 0~65535 | 默认 |
unsigned short int | 16bits | 0~65535 |
- Signed 16bits
CvMat数据结构参数:CV_16SC1,CV_16SC2,CV_16SC3,CV_16SC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
short int | 16bits | -32768~32767 | (short) |
- Signed 32bits
CvMat数据结构参数:CV_32SC1,CV_32SC2,CV_32SC3,CV_32SC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
int | 32bits | -2147483648~2147483647 | (long) |
- Float 32bits
CvMat数据结构参数:CV_32FC1,CV_32FC2,CV_32FC3,CV_32FC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
float | 32bits | 1.1810-38~3.401038 |
- Double 64bits
CvMat数据结构参数:CV_64FC1,CV_64FC2,CV_64FC3,CV_64FC4
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
double | 64bits | 2.2310-308~1.7910308 |
- Unsigned 1bit
IplImage数据结构参数:IPL_DEPTH_1U
变量类型 | 空间大小 | 范围 | 其他 |
---|---|---|---|
bool | 1bit | 0~1 |
参考
OpenCV Mat数据类型及位数总结_zhliang_新浪博客
备注:
- CV_8UC1 ... CV_64FC4 constants (for a number of channels from 1 to 4)
- CV_8UC(n) ... CV_64FC(n) or CV_MAKETYPE(CV_8U, n) ... CV_MAKETYPE(CV_64F, n) macros when the number of channels is more than 4 or unknown at the compilation time.
x, y坐标和行列关系
在opencv的图像坐标系中,坐标原点为左上角, x坐标轴指向右方, y坐标轴指向下方。
row == height == Point.y
col == width == Point.x
Mat::at(Point(x, y)) == Mat::at(y, x)
cv::Mat image(row_num, col_num, CV_8UF1, cv::Scalar(0))
image.at<uchar>(row, col)
此时使用.at(row, col)访问mat中元素, row代表行,也是height和y坐标的值, 不是x坐标的值。
参考
openCV坐标系与row&col的关系 (Mat::at(x,y)和Mat::at(Point(x, y))的区别) - hyqsong的专栏 - CSDN博客
opencv之type()函数返回值对应表
cv::Mat 类的对象有一个成员函数 type() 用来返回矩阵元素的数据类型,返回值是 int 类型,不同的返回值代表不同的类型。
int Mat::type() const
返回值与具体类型对应关系表:
C1 | C2 | C3 | C4 | |
---|---|---|---|---|
CV_8U | 0 | 8 | 16 | 24 |
CV_8S | 1 | 9 | 17 | 25 |
CV_16U | 2 | 10 | 18 | 26 |
CV_16S | 3 | 11 | 19 | 27 |
CV_32S | 4 | 12 | 20 | 28 |
CV_32F | 5 | 13 | 21 | 29 |
CV_64F | 6 | 14 | 22 | 30 |
注:表头的 C1, C2, C3, C4 指的是通道(Channel)数
参考
[2015-04-30-确定 OpenCV 矩阵元素的数据类型 - 简书](