cvReduce函数
程序员文章站
2022-06-17 19:30:24
cvreduce函数
c++: void reduce(inputarray src, outputarray dst, int dim, int rtype, int dtype=-1 )
c:...
cvreduce函数
c++: void reduce(inputarray src, outputarray dst, int dim, int rtype, int dtype=-1 )
c: void cvreduce(const cvarr* src, cvarr* dst, int dim=-1, int op=cv_reduce_sum)
将二维数组转化为向量
参数说明:
src
输入矩阵
dst
输出的通过处理输入矩阵的所有行/列而得到的单行/列向量
dim
矩阵被简化后的维数索引.0意味着矩阵被处理成一行,1意味着矩阵被处理成为一列,-1时维数将根据输出向量的大小自动选择.
op
简化操作的方式,可以有以下几种取值:
cv_reduce_sum-输出是矩阵的所有行/列的和.
cv_reduce_avg-输出是矩阵的所有行/列的平均向量.
cv_reduce_max-输出是矩阵的所有行/列的最大值.
cv_reduce_min-输出是矩阵的所有行/列的最小值.
下面给一个简单的例子。
#include void main() { cv::mat mat(3, 3, cv_8u , cv::scalar(0)); std::cout << mat << std::endl; mat.at(0, 0) = 1; mat.at(1, 1) = 2; mat.at(2, 2) = 3; std::cout << mat << std::endl; cv::mat output; // 输出每列的最大值 cv::reduce(mat, output, 1, cv_reduce_max); std::cout << output << std::endl; }