Frage:Ich bekomme das gewuenschte Ergebnis nicht!!



  • Hallo an allen,
    ich habe einen Codegeschrieben aber der laueft nicht so wie ich es will.Ich gebe ihn ein Bild als Eingabe und durch den CCode muss etwas passieren(das Bild veraendern!) aber stattdessen bekomme ich ein schwarzes Bild als Ergebnis!
    Ich habe getestet dass mein Algorithmus nicht in der Schleife(Zweite if gar nicht rein geeht-->logisch wenn die Bedingung nicht stimmt!)aber das hiess es aber das etwas nicht so stimmt!Es hat mit Speicherreservierung nichts zu tun !Ich hbe es versucht mit und ohne Allokierung aber das Problem bleibt!(Es wird auch im Hauptprogramm reserviert!)
    Koennte mir jemánd helfen?
    Danke
    Kilomat
    Dabei ist:
    In: Eingabe Bild
    Out:Ausgabe Bild
    MASK:zum Zwischenspeichern

    void Dilation (struct Image *In,int MASK[][M],struct Image *Out)
    {

    int x,y,i,j,smax;
    for(y=M/2; y<In->Rows-M/2; y++)
    for(x=M/2; x<In->Cols-M/2; x++)
    {
    smax=0;
    for(j=-M/2; j<=M/2; j++)
    {
    for(i=-M/2; i<=M/2; i++)
    {
    if(MASK[i+M/2][j+M/2]==1)
    {

    if(*(In->Data+x+i+(long)(y+j)In->Cols) >smax)
    {
    smax=
    (In->Data+x+i+(long)(y+j)*In->Cols);

    }
    }
    }
    }

    (Out->Data+x+(long)yIn->Cols)=smax;

    Out->Rows=In->Rows;
    Out->Cols=In->Cols;
    }
    }



  • ich würd's mal mit'm debugger durchsteppen und überprüfen, ob alle variablen (und dieses M, ist wohl ein #define?) die werte haben, die du erwartest.


Anmelden zum Antworten