OpenCV:获取 Mat 值的总数

Posted

技术标签:

【中文标题】OpenCV:获取 Mat 值的总数【英文标题】:OpenCV: Getting the total of Mat values 【发布时间】:2012-04-14 18:09:24 【问题描述】:

是否有一些 openCV 函数可以传入 cv::Mat 并获取其中所有值的总和?

例如:int cvSumFoo(Mat &srcMat);我期待一个 int 回来

我是这样创建的:

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

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

【问题讨论】:

sum of elements in a matrix in open cv? 的可能重复项 【参考方案1】:

函数“sum”“计算并返回数组元素的总和,每个通道独立。”

您可以在这里找到信息:http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#sum

【讨论】:

谢谢!那成功了。使用 openCV 中已有的代码来保持代码整洁总是有帮助的。现在情况看起来好多了。【参考方案2】:

我知道提问者并没有问 Java-openCV 中的函数,但我仍然想展示如何在 Java 中做到这一点,因为:

    Java 中的“sum”函数的名称完全不同,并且在一个不同的类中 Java openCV API 示例很少

在Java openCV中打印总和的代码是:

Core.sumElems(myMat);

很明显,它不是Scalar”类的函数,它的名字是notsum()

【讨论】:

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

以上是关于OpenCV:获取 Mat 值的总数的主要内容,如果未能解决你的问题,请参考以下文章

在 OpenCv Mat 中钳位值的最有效方法

opencv源代码分析:icvGetTrainingDataCallback简单介绍

使用 c++ 和 opencv 计算 Mat 的大小和方向时出错

OpenCV学习三:Mat类详解

opencv中Mat类型数据操作与遍历

Opencv如何使用MatIterator迭代具有浮点RGB值的彩色图像?