1

いくつかのOpenCVライブラリ関数を使用して、C++でさまざまな相互相関アルゴリズムを実装しようとしています。ある時点で、行列の行と列の合計をとる必要があります。私はマトリックスクラスとしてcv::Matを使用しており、初心者としてcv::Matを使用していくつかの基本的なマトリックス操作を行うのに慣れています。私の唯一の問題は、MATLABの経験があることです。これは、この種のマイナーなことで本当に優れています。そこで、MATLABコードの観点から要件を説明します(MATLABを理解していない場合は事前にお詫びします)。私が求めているのはこれです:

たとえば、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()の戻りタイプはScalarです。私を正しい方向に向けてください。

参考までに、私は学生ではありません!私はプロです(以前はJavaベースの開発およびシステムエンジニアリングに従事していました)。しかし、現在、C++ベースの実装を行わなければならないプロジェクトを引き継いでいます。

TIA

4

1 に答える 1

2

行または列を合計するためのcv::reduceがあります。

この質問も参照してください:Opencvマトリックス要素の列の合計

于 2012-10-26T09:20:40.287 に答える