c -使用CV_MAT_ELEM修改CvMat*像素



我正在尝试创建用于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: left of '。数据必须有类/结构/联合错误C2228: '.ptr'的左边必须有类/结构/联合错误C2228: left of '。Step '必须有class/struct/union

我做错了什么?

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

CV_MAT_ELEM(*mat,float,y,x) = MIN(c,1);

相关内容

  • 没有找到相关文章

最新更新