1

我正在尝试使用一些 OpenCV 库函数在 C++ 中实现不同的互相关算法。在某些时候,我需要对矩阵的行和列求和。我使用 cv::Mat 作为我的矩阵类,作为初学者,我很乐意使用 cv::Mat 进行一些基本的矩阵运算。我唯一的问题是我在 MATLAB 方面经验丰富,在这种小事情上真的很擅长。因此,我将根据 MA​​TLAB 代码提出我的要求(如果有人不了解 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() 的返回类型是标量。请指出正确的方向。

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

TIA

4

1 回答 1

2

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

另请参阅此问题:Opencv 矩阵元素的列总和

于 2012-10-26T09:20:40.287 回答