C++ Opencv如何使用MatIterator对带有浮动RGB值的彩色图像进行迭代?

C++ Opencv如何使用MatIterator对带有浮动RGB值的彩色图像进行迭代?,c++,image,loops,opencv,mat,C++,Image,Loops,Opencv,Mat,我正在学习使用opencv在Mat上进行迭代,正如教程所说,我们可以使用MatIterator\uuu对Mat进行迭代。对于3通道uchar图像,我们可以使用MatIterator如下: MatIterator_<Vec3b> it, end; for( it = I.begin<Vec3b>(), end = I.end<Vec3b>(); it != end; ++it) { //do any iteration stuff } MatIte

我正在学习使用opencv在Mat上进行迭代,正如教程所说,我们可以使用
MatIterator\uuu
对Mat进行迭代。对于3通道uchar图像,我们可以使用
MatIterator
如下:

MatIterator_<Vec3b> it, end;
for( it = I.begin<Vec3b>(), end = I.end<Vec3b>(); it != end; ++it)
{
      //do any iteration stuff
}
MatIterator\uuit,结束;
for(it=I.begin(),end=I.end();it!=end;++it)
{
//做任何迭代的事情
}
但我不确定它是否能在3通道浮点值(32FC3)垫上工作

那么
Vec3b
的确切定义是什么


谢谢大家!

如果改用
Vec3f
,它会工作得很好:

MatIterator_<Vec3f> it, end;
for( it = I.begin<Vec3f>(), end = I.end<Vec3f>(); it != end; ++it)
{
      //do any iteration stuff
}
typedef Vec<uchar, 3> Vec3b;
typedef Vec<float, 3> Vec3f;