本节主要介绍如何遍历Mat数组中的元素,遍历Mat中元素的相关函数,其中包括at族函数和ptr族函数,以及矩阵内存的布局,以及许多C++相关的知识点,这是整个Mat类的精髓,也注定了这将是华丽丽的一篇!
你如何定位矩阵中的元素?
(二)C++迭代器方法
你如何定位矩阵中的元素?
OpenCV Tutorials中给出了三种方法遍历数组中的元素:(一)高效的经典的C运算子[ ]方法;(二)安全的C++中迭代器方法;(三)动态地址计算方法。下面简要介绍下三种方法的主要用法以及优缺点
(一)无人能及的C []运算子,基于ptr函数族 int i,j;
uchar* p;
for( i = 0; i < nRows; ++i)
{
p = I.ptr<uchar>(i);//获取行指针
for ( j = 0; j < nCols; ++j)
{
p[j] = table[p[j]];
}
}
最高效的方法
(二)C++迭代器方法
MatIterator_<uchar> it, end;
for( it = I.begin<uchar>(), end = I.end<uchar>(); it != end; +&