OpenCV:获取Mat值的总和

12

有没有一些OpenCV的函数可以传入一个cv::Mat,并得到它们所有值的总和呢?

例如:int cvSumFoo(Mat &srcMat);我期望返回一个int。

我是这样创建它的:

srcMat= new Mat(rows, cols, CV_8U);

如果有可能,我想尽量避免创建自己的循环。


2个回答

16

谢谢!那个方法很有效。在代码中使用已经存在于OpenCV中的代码可以使您的代码保持整洁,这总是有帮助的。现在情况看起来更好了。 - roboto1986

9
我知道提问者没有要求使用Java-openCV的函数,但我仍然想展示如何在Java中实现它,因为:
1. Java中的“sum”函数被命名为完全不同的名称,并且位于另一个类中 2. Java openCV API示例很少
在Java openCV中打印总和的代码如下:
Core.sumElems(myMat);

显而易见的是,这不是“Scalar”类的函数,它的名称也不是“sum()”。请注意,sum()中的HTML标记应保留。

我也在使用Java opencv - 这非常有帮助。 - mayhewsw
如何从这个标量中获取整数值?例如,我得到的是(12550,0,0,0)。 - nette
1
@nette:标量 myScalar = Core.sumElems(myMat); myScalar.val[0]; myScalar.val[1]; myScalar.val[2]; myScalar.val[3]; - kiltek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接