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”左侧必须有类/结构/联合错误 C2228:“.ptr”左侧必须有类/结构/联合错误 C2228:“.step”左侧必须有类/结构/联合

我究竟做错了什么?

4

1 回答 1

0

已解决:取消引用传递给宏的指针:

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