2014-09-22 1 views
-2

J'ai le morceau de code suivant pour le traitement d'image, en utilisant la bibliothèque CImg.Point opérateur C++

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); 
    } 

Que signifie la ligne suivante au début du cycle? 'Width' et 'in' sont respectivement un entier et un objet CImg déclaré avant.

Merci.

+4

Cette ligne signifie que le code a une erreur de syntaxe. – interjay

+1

avez-vous simplement coupé 'dimx();'? –

+0

@Niall il n'y a pas de ligne comme la vôtre dans l'autre partie du code. – charles

Répondre

6

Cette ligne est une erreur de syntaxe et ne passera pas la compilation. Il a probablement été accidentellement collé là.

recherche sur Google pour le code donne this, qui contient le même code, sans cette ligne:

Une autre partie du code
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); 
    } 

contient la ligne const int width = in.dimx();, ce qui est probablement la source de la copier/coller accidentelle.

+1

Une réponse doesn ' Il faut toujours être complexe pour obtenir des upvotes. +1 de moi;) –