opencv中的Mat.ptr
Mat矩阵中数据指针Mat.data是uchar类型指针,CV_8U系列可以通过计算指针位置快速地定位矩阵中的任意元素。
二维单通道元素可以用MAT::at(i,j),i是行号,j是列号
但对于多通道的非uchar类型矩阵来说,以 上方法不适用,可以用Mat::ptr()来获得指行某行元素的指针,在通过行数与通道数计算相应点的指针。
可以用以下函数进行访问
#include<opencv2/core/core.hpp> template<typename ItemType> ItemType* getMatPointPtr(Mat& src,int i,int j,int c=0) { ItemType *curRow=src.ptr<ItemType>(i); return curRow+j*src.channels()+c; }