Bild vergleichen

Hi!
Ich möchte mit einer Funktion überprüfen ob es eine Bildausschnitt in einem Bild vorkommt. Hätte einer eine Idee für eine Lösung (da meine 2 versuche kläglich gescheitert sind)
Programmversuch sah so aus (Ist allerdings sehr Unübersichtlich und Fehlerhaft. Also nur falls der Quellcode jemanden Interessiert):

//---------------------------------------------------------------------------
void bool FindPart(Graphics::TBitmap *Original, Graphics::TBitmap * part) //part ist Ausschnitt der überprüft werden soll,
//Original ist komplettes Bild
{
int h=Original->Height;
int w=Original->Width;
int h_ref=part->Height;
int w_ref=part->Width;
int same_x=0; //übereinstimmung in X richtung
int same_y=0; //übereinstimmung in Y richtung
int i=0;
bool out=false; //Neuanfang Realisieren
BYTE * Reihe_ref = (BYTE*) part->ScanLine[1];

for(int k=0;kScanLine[k+1];
if(i>=(w-w_ref)) i=0;
for(i=i; i=w_ref) //1. Reihe gleich
//nächste reihe überprüfen
{

same_y++;
Reihe_ref =(BYTE*) part->ScanLine[same_y];

if(same_y>=h_ref) //alle Reihen
{
return true; //GEFUNDEN!!
}
i-=same_x;
i++;
same_x=0;
out=true;
break;
}

}
else
{
k-=same_y;
i-=same_x;
same_x=0;
same_y=0;
if(out)
{part->ScanLine[1];
out=false;
}
}

}
}

//Fehler… nicht gefunden…

return false;

}

Hallo

Ich würde sagen, das ist beinahe unmöglich, weil ein Bildausschnitt ja in verschiedener Größe und in verschiedenen Farbintensitäten vorkommen kann.
Die einzige Möglichkeit wäre eine Art Analyseprogramm, welches erkennen kann, welche Objekte abgebildet werden.
Ist das allerdings nicht der Fall, dann sollte es doch möglich sein.

Der technische Hintergrund wäre jedenfalls ganz gut zu nennen.

MfG

Hi Cyberfoxx007,

das nennt sich „Two dimensional pattern matching“, einfach googlen und 3 Mio Eintraege dazu erhalten.

Gruss
norsemanna

Bild vergleichen
Vielen Dank für die schnellen Antworten. Werde mich jetzt mal durch „Two dimensional pattern matching“ durchschlagen und versuche etwas hilfreiches im Netz zu finden.
Bildausschnitt hat gleiche Größe nur Position (falls Vorhanden) ist unbekannt.