TImage Picture vergleichen
-
Naja, wer Zeit hat schon

-
Christian211 schrieb:
Naja, wer Zeit hat schon

Danach hat ja hier keiner Gefragt

-
Na gut, aber dann
Kennst du verschachtelte Schleifen?
for(x=0;x<Image1->Picture->Width;x++) { for(y=0;y<Image1->Picture->Height;x++) //mach was }
-
Christian211 schrieb:
Na gut, aber dann
Kennst du verschachtelte Schleifen?
Hab schonmal davon gehört...
-
Hallo
außerdem wäre auch erstmal sicherzustellen, das die beiden Bitmaps die selben Dimensionen haben.
bis bald
akari
-
Gut, tut mir echt leid, dass ich helfen wollte.
-> Bitte alle meine Postings löschen.
Danke
-
Die Bilder kommen von einer IP-Überwachungskammera, mir war nach dem pixel ausles Befehl alles klar.
-
Um Bilder einer Kamera auf Veränderungen zu überwachen sollte man beim Vergleich der Pixel einen Schwellenwert verwenden (Helligkeitsveränderung).
Dann bei einer Folge von einem auszuprobierenden Prozentsatz von Veränderungen kann man Alarm geben.int CompareImages(TImage *bild1,TImage *bild2,int schwellenwert) { long aunt=0; PByteArray z1,z2; for(int y=0;y<bild1->Height-1;y++) { z1=(PByteArray)bild1->Picture->Bitmap->ScanLine [y]; z2=(PByteArray)bild2->Picture->Bitmap->ScanLine [y]; for (int x=0;x<bild1->Width-1;x++) { if (abs(z1[x]-z2[x])>schwellenwert) aunt++; } } if (bild1->Height*bild1->Width>0) { return 100*aunt/(bild1->Height*bild1->Width); } else return 0; }
-
Hmm.. wie das ganze mit einem bmp funktioniert ist klar und funktioniert auch.
Aber wie bekomme ich das mit einem JPG zum laufen?
Ich habs mal so probiert:
TJPEGImage *jp1 = new TJPEGImage(); jp1->LoadFromFile("bild1.jpg"); TImage *Image1x = new TImage(0); Image1x->Picture->Assign(jp1);Nur funktioniert das nicht.
Gruß
Rai
-
Hallo
Die Behandlung von JPG und GIF steht in der FAQ hier im BCB-Forum.
Nur funktioniert das nicht ist übrigens keine ausreichende Fehlermeldung.
bis bald
akari