マトリックス内のすべての要素を合計する必要があります。関数を使用しました
sum(sum(A));
matlabで。ここで、A
はサイズ300 * 360の行列です。 OpenCVで同じ機能を実装したい。私はこのようなものを使用しました。
double s=cv::sum(cv::sum(A));
ただし、スカラーをdoubleに変換できないことを示すエラーがあります。この問題を修正するには?
Matlabとは異なり、opencvでは、cv::sum(A)
はすべての次元に沿って合計し、Matlabのsum(sum(A))
と等しい単一の数値(スカラー)を返します。
したがって、必要なのは
double s = cv::sum( A )[0];
さらに、 @ Shai を使用できます。
double sum = cv::sum(A).val(0);