2013-08-27 9 views
6

私はMatを別のサイズとタイプで作成しようとしています。これは私のコードであるサイズと型のパラメータでOpenCVのMat :: zerosを呼び出せません

static MatExpr zeros(Size size, int type); 

:新しいMatのすべての要素がゼロでなければなりませんので、私は以下のように定義、Mat::zeros(size, type)機能を試してみました。私が既に持っていると仮定しMat g(作成imread経由):

Mat h = Mat::zeros(g.size, g.type()); 

これはその不満を、私のコンパイラエラーを与える:

への呼び出しに該当する関数「ゼロ」

を何私は間違っている?

+0

'g.size'の種類は何ですか? – juanchopanza

答えて

11

あなたはcv::Matという奇妙なものを見つけました。 sizeフィールドはcv::Sizeではなく、Mat::MSize構造体を返します。このMSizeoperator()を呼び出してcv::Sizeに変換できます。

あなたは次のようにコールする必要があります。

Mat h = Mat::zeros(g.size(), g.type()); 
+0

ありがとうございます。私が知っておくべき他の癖はありますか? ;-) – cfischer

関連する問題