1

Filter2D 関数に使用するカーネルを作成しようとしています。この関数は、カーネルが CvMat 形式であることを想定しています。

CvMat の要素にアクセスするにはどうすればよいですか? 次のコードを使用すると、コンパイラ エラーが発生します。

inline void plot(CvMat* mat, int x, int y, float c)
//plot the pixel at (x, y) with brightness c (where 0 ≤ c ≤ 1)
{
    CV_MAT_ELEM(mat,float,y,x) = MIN(c,1); //The error occurs at this line
}

次のエラーが表示されます。

エラー C2228: '.data' の左側には class/struct/union が必要です エラー C2228: '.ptr' の左側には class/struct/union が必要です エラー C2228: '.step' の左側には class/struct/union が必要です

私は何を間違っていますか?

4

1 に答える 1

0

解決済み: マクロに渡すポインターを逆参照します。

CV_MAT_ELEM(*mat,float,y,x) = MIN(c,1);
于 2013-03-08T17:59:30.030 に答える