2012-04-14 189 views
11

cv::Matに渡すことができるいくつかのopenCV関数があり、その中のすべての値の合計を取得できますか?OpenCV:Mat値の合計を取得する

例:int cvSumFoo(Mat &srcMat);私はこのようにそれを作成するintはバック

を来ることを期待しています:

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

私が可能で、すべての場合には私自身のループを作成しないようにしたいと思います。

+0

[cvの行列の要素の和]の可能な複製(http://stackoverflow.com/questions/21874774/sum-of-elements-in-a-matrix-in-open-cv) – Kiran

答えて

15

関数 'sum'は、チャンネルごとに独立して、配列要素の合計を計算して返します。

あなたはここで情報を見つけることができます:http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#sum

+0

ありがとうございました!そのトリックをした。 openCVで既に使用されているコードを使用すると、コードをきれいに保つことができます。物事は今よりよく見えます。 – roboto1986

5

私は質問者のJava-OpenCVのに機能するためにを要求していないことを知っているが、私はまだJavaでそれを行う方法を示したいと思います、理由:Javaで "合計" -functionは全く異なる名前が付けられ、異なるクラスになっている

  1. のJavaのOpenCVのAPIの例はまばらで

JavaのOpenCVのに合計を印刷するためのコードは次のとおりです。

Core.sumElems(myMat); 

明白な、それは "スカラーない関数であることです"-classとその名前はではなく、sum()です。

+0

実際には、共有ありがとう! – roboto1986

+0

私はJavaのopencvも使用しています。これは非常に役に立ちました。 – mayhewsw

+0

このスカラーからどのように整数値を取得しますか?例えば、私は(12550,0,0,0) – nette

関連する問題