我正在尝试创建用于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
我做错了什么?
答案 0 :(得分:0)
解决:取消引用传递给宏的指针:
CV_MAT_ELEM(*mat,float,y,x) = MIN(c,1);