2012-10-26 264 views
1

我想在C++中使用一些OpenCV库函数实现不同的互相关算法。在某个时候,我需要将矩阵的行和列的总和。我使用cv :: Mat作为我的矩阵类,并且我很乐意作为初学者在cv :: Mat中做一些基本的矩阵运算。我唯一的问题是我在MATLAB方面经验丰富,这对于这些小事来说非常好。所以,我会以MATLAB代码的形式提出我的要求(如果有人不了解MATLAB,请事先道歉)。我所经过是这样的:OpenCV中的矩阵乘法 - 组合cv :: Mat和cv :: Scalar对象

在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

回答

2

没有为求和行列的一个cv::reduce

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

+0

感谢您的推动!我希望我可以给你一个+1,不要因为我的愚蠢问题而恼火(明显)!对不起,我是新的,所以没有投票的声望:( 为了减少愚蠢,你有任何推荐的网站,提供有关OpenCV的教程(除了Willow车库)? – ha9u63ar

+0

OpenCV有自己的网站http://opencv.org /你可以在这里找到最新的新闻,官方教程和文档 –

+0

+1,一直在使用opencv一段时间,但从来没有注意到'cv :: reduce'! – remi