点运算符C ++

时间:2014-09-22 14:14:07

标签: c++ image-processing cimg

我使用库CImg进行了以下的图像处理代码。

for (int y = 0; y < height; y++)
  for (int x = 0; x < width; x++) { 
      width = in.
      float weight = strength*x*(xmax-x)*y*(ymax-y)/(xmax*xmax)/(ymax*ymax);
      int new_x  = (int) ((1-weight)*x + weight*      y * xmax/ymax);
      int new_y  = (int) ((1-weight)*y + weight*(xmax-x)* ymax/xmax);
      out(x,y) = in(new_x,new_y);
  }

在周期开始时,下一行是什么意思?

  width = in.

&#39;宽度&#39;和&#39; in&#39;分别是之前声明的int和CImg对象。

谢谢。

1 个答案:

答案 0 :(得分:6)

该行是语法错误,不会通过编译。它很可能被意外粘贴在那里。

Google搜索代码会显示this,其中包含不含该行的相同代码:

for (int y = 0; y < height; y++)
  for (int x = 0; x < width; x++) {
    float weight = strength*x*(xmax-x)*y*(ymax-y)/(xmax*xmax)/(ymax*ymax);
    int new_x  = (int) ((1-weight)*x + weight*      y * xmax/ymax);
    int new_y  = (int) ((1-weight)*y + weight*(xmax-x)* ymax/xmax);
    out(x,y) = in(new_x,new_y);
  }

代码的另一部分包含行const int width = in.dimx();,这可能是意外复制/粘贴的来源。