在之前的博客 OpenCV 32F 与 8U Mat数据类型相互转换(C++版)
已经提到,OpenCV Mat 类型及对应编号,如下表:
其中C1~C4为通道数,经常使用的数据类型对应如下表所示:
其中:
FLT_MAX = 3.402823466e+38
FLT_MIN = 1.175494351e-38
DBL_MAX = 1.7976931348623158e+308
DBL_MIN = 2.2250738585072014e-308
如果需要给某个像素赋值或者取某个像素点的值,可通过以下形式进行赋值或取值
Mat.at<类型>(y,x)
其中y为行序号,x为列序号。
如一个图像/矩阵的格式是CV_8UC3,对应的是 Mat.at<Vec3b>(y,x)
如一个图像/矩阵的格式是CV_32F,对应的是 Mat.at<float>(y,x)