由于在OpenCV中,访问某个像素点时,目前我知道到的三种遍历方式,有两种是需要知道元素的保存类型的,但是,因此,通过矩阵的元素的深度判断矩阵的元素的保存的类型很重要。


首先,介绍下矩阵元素的深度:
可以看出,直接从矩阵元素深度的介绍并不能看出元素保存的类型,只能通过元素深度的取值范围来判断元素的在C++中的保存类型。
首先,看一下在C++中,不同的类型在内存中所占的位数(这里是在Windows7下面使用mingw482_32):
从矩阵元素深度的定义和C++不同类型在内存所占的位数,可以看出,OpenCV中不同深度的元素在C++中保存的类型如下:
矩阵元素的深度 | 元素在C++中保存的类型 | 所占位数 |
CV_8U | unsigned char | 8位 |
CV_8S | signed char | 8位 |
CV_16U | unsigned short | 16位 |
CV_16S | short | 16位 |
CV_32S | int | 32位 |
CV_32F | float | 32位 |
CV_64F | double | 64位 |