OpenCV中的矩阵乘法 - 结合cv :: Mat和cv :: Scalar对象

时间:2012-10-26 07:54:36

标签: c++ matlab opencv

我正在尝试使用一些OpenCV库函数在C ++中实现不同的互相关算法。在某些时候,我需要获取矩阵的行和列的总和。我使用cv :: Mat作为我的矩阵类,作为初学者,我很熟悉用cv :: Mat做一些基本的矩阵运算。我唯一的问题是我在MATLAB中经验丰富,在这种小事情上非常好。因此,我将根据MATLAB代码提出我的要求(如果有人不理解MATLAB,请提前道歉)。我所追求的是:

在MATLAB中,例如

gg = [1 1 1; 2 2 2; 3 3 3; 4 4 4]; % is a 4x3 matrix

sumGrows = (gg,1); % Sum of all rows - will be [10 10 10]; 1 means DIMENSION=ROWS
sumGcols = (gg,2); % Sum of all columns - [3; 6; 9; 12]; 2 means DIMENSION=COLUMNS

仅供参考,在MATLAB中,注释带有%

我怎样才能在OpenCV中做到这一点?我知道在OpenCV中有一个名为“sum”的函数,但是它不会返回一个cv :: Mat对象。我需要做一些静态/动态铸造吗? AFAIK,sum()的返回类型是Scalar。请指出正确的方向。

仅供参考,我不是学生!我很专业(曾经是基于Java的开发和系统工程)。但目前正在接管一个我必须进行基于C ++实现的项目。

TIA

1 个答案:

答案 0 :(得分:2)

有一个cv::reduce用于求和行或列。

另请参阅此问题:Column sum of Opencv Matrix elements