OpenCV 数组操作与矩阵表达式详解
1. 数组迭代器的使用
在处理数组时,迭代器是一种非常有用的工具。迭代器可以帮助我们遍历数组中的元素,进行各种操作。
- 普通迭代器 :普通迭代器适用于对整个数组进行操作,或者在多个数组上逐元素操作。例如,计算三维数组中“最长”元素的示例代码如下:
int sz[3] = { 4, 4, 4 };
cv::Mat m( 3, sz, CV_32FC3 ); // A three-dimensional array of size 4-by-4-by-4
cv::randu( m, -1.0f, 1.0f ); // fill with random numbers from -1.0 to 1.0
float max = 0.0f; // minimum possible value of L2 norm
cv::MatConstIterator<cv::Vec3f> it = m.begin();
float len2;
while( it != m.end() ) {
len2 = (*it)[0]*(*it)[0]+(*it)[1]*(*it)[1]+(*it)[2]*(*it)[2];
if( len2 > max ) max = len2;
it++;
}
- N 元数组迭代器(NAryMatIterator) :N 元数组迭代器允许我们同时处理多个数组。它通过返回数组的块(称为平面)来工作,平面是输入数组中数
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



