欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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;
}