点运算符C++

Point operator C++

本文关键字:C++ 运算符 点运算      更新时间:2023-10-16

我有下面一段使用库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.

"width"answers"in"分别是之前声明的int和CImg对象。

谢谢。

那一行是语法错误,不会通过编译。它很可能是不小心贴在那里的。

在谷歌上搜索代码会得到这个,它包含相同的代码,但没有那一行:

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();,这可能是意外复制/粘贴的来源。