0

我正在尝试将我的 opencv 代码迁移到 Xilinx xfopencv。我想对两个输入图像进行像素除法。c(x,y)=a(x,y)/b(x,y)

如何使用 xfOpenCv 获取 c ???在OpenCv中,我可以直接做a/b,但是xfOpenCv没有pixel-wize除法功能。我试图自己定义一个除法函数。

但我得到了错误: '[]' could not be resolved 那么如何使用 xf:Mat 进行逐像素计算?你能举个例子吗?

error: '[]' could not be resolved

xf::Mat<XF_8UC1, HEIGHT, WIDTH, XF_NPPC1> a;
xf::Mat<XF_8UC1, HEIGHT, WIDTH, XF_NPPC1> b;
xf::Mat<XF_8UC1, HEIGHT, WIDTH, XF_NPPC1> c;

for (int i = 0; i < HEIGHT; i++)
   for (int j = 0; j < WIDTH; j++)
   {
      c[i][j] = a[i][j]/b[i][j];
   }
4

1 回答 1

1

使用“.data”指针访问 xf::Mat 对象的每个像素值。

for (int i = 0; i < HEIGHT; i++){
 for (int j = 0; j < WIDTH; j++){
      c.data[i*WIDTH+j] = a.data[i*WIDTH+j] / b.data[i*WIDTH+j];
}

}

于 2019-01-24T16:25:37.127 回答