C++ 点运算符C++;

C++ 点运算符C++;,c++,image-processing,cimg,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

我有下面一段使用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”分别是前面声明的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);
  }
for(int y=0;y

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

这一行表示代码有语法错误。您刚才是否删除了
dimx()?@Niall在代码的另一部分没有像您这样的行。@INTRAY代码运行得很好。@WOTERHUYSENTRUIT宽度的声明是:const int width=in.dimx();但在这个循环中,答案并不一定要复杂才能获得选票+从我这里;)
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);
  }