OpenCV2.X以后结构发生一些变化,其中大部分函数用到Mat, 但在读取Mat数据时,有一个不大不小的麻烦。
Mat读元素值得代码为:
//对于一个数据类型为type的Mat a来说
type temp = a.at<type>(x,y);
当采用这种方法取元素值得时候,type成为一个麻烦的问题,因为一般我们生成Mat的时候,都是这样的:
Mat a;
a.create(Size(x,y), CV_8UC1);
而取元素值时不能写成"a.at<CV_8UC1>(x,y)"或者"a.at<a.type()>(x,y)"。
所以这里列出OpenCV中定义的型别和C++中型别的对应关系,
CV_8SC1 -> char
CV_8UC1 -> unsigned char
CV_16SC1 -> short
CV_16UC1 -> unsigned short
CV