利用at<?>(v, u)实现,其中?代表的数据结构视图像的深度值和通道数而改变。
当深度值为0时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
0,表示“CV_8U” | 1 | CV_8UC1 | uchar |
0,表示“CV_8U” | 2 | CV_8UC2 | Vec<uchar, 2> |
0,表示“CV_8U” | 3 | CV_8UC3 | Vec<uchar, 3> |
0,表示“CV_8U” | 4 | CV_8UC4 | Vec<uchar, 4> |
当深度值为1时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
1,表示“CV_8S” | 1 | CV_8SC1 | schar |
1,表示“CV_8S” | 2 | CV_8SC2 | Vec<schar, 2> |
1,表示“CV_8S” | 3 | CV_8SC3 | Vec<schar, 3> |
1,表示“CV_8S” | 4 | CV_8SC4 | Vec<schar, 4> |
当深度值为2时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
2,表示“CV_16U” | 1 | CV_16UC1 | ushort |
2,表示“CV_16U” | 2 | CV_16UC2 | Vec<ushort, 2> |
2,表示“CV_16U” | 3 | CV_16UC3 | Vec<ushort, 3> |
2,表示“CV_16U” | 4 | CV_16UC4 | Vec<ushort, 4> |
当深度值为3时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
3,表示“CV_16S” | 1 | CV_16SC1 | short |
3,表示“CV_16S” | 2 | CV_16SC2 | Vec<short, 2> |
3,表示“CV_16S” | 3 | CV_16SC3 | Vec<short, 3> |
3,表示“CV_16S” | 4 | CV_16SC4 | Vec<short, 4> |
当深度值为4时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
4,表示“CV_32S” | 1 | CV_32SC1 | int |
4,表示“CV_32S” | 2 | CV_32SC2 | Vec<int, 2> |
4,表示“CV_32S” | 3 | CV_32SC3 | Vec<int, 3> |
4,表示“CV_32S” | 4 | CV_32SC4 | Vec<int, 4> |
当深度值为5时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
5,表示“CV_32F” | 1 | CV_32FC1 | float |
5,表示“CV_32F” | 2 | CV_32FC2 | Vec<float, 2> |
5,表示“CV_32F” | 3 | CV_32FC3 | Vec<float, 3> |
5,表示“CV_32F” | 4 | CV_32FC4 | Vec<float, 4> |
当深度值为6时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
6,表示“CV_64F” | 1 | CV_64FC1 | double |
6,表示“CV_64F” | 2 | CV_64FC2 | Vec<double, 2> |
6,表示“CV_64F” | 3 | CV_64FC3 | Vec<double, 3> |
6,表示“CV_64F” | 4 | CV_64FC4 | Vec<fdouble, 4> |
当深度值为7时
depth() | channels() | 图像类型 | img.at<?>(v, u) |
---|
7,表示“CV_USRTYPE1” | 1 | | |
7,表示“CV_USRTYPE1” | 2 | | |
7,表示“CV_USRTYPE1” | 3 | | |
7,表示“CV_USRTYPE1” | 4 | | |
这个就不知道了【疑惑】。