aus Sicht der Bildverarbeitung wäre mein Ansatz :
über NCC / FastNCC kann ich Bilder in anderen Bildern erkennen :
https://sourceforge.net/projects/nccfastncc/
dh. BMP des ersten Kopfes als Vorlage Speichern und dann innerhalb Deines roten Rahmen suchen, bei > 70 % NCC Wert hast du vermutlich dann schon einen Treffer
Ja hatte kurze Zeit überlegt
openCV zu benutzen, problem ist aber, dass es 20 verschiedene Köpfe gibt, die skallierend von allen Blickwinkeln dann schwer zu erkennen wären..
Also fest steht Die Mitte der HP-Bar ist immer die Mitte des Kopfes, das heißt wenn man die Breite ermitteln könnte wäre die Sache schon getan, denn ich habe festgestellt:
Wenn Breite der HP-Bar >= 70 dann (Breite * 0.6) = ca. Y-Wert Mitte Kopf. Wenn < dann c.a. Y = 43.
Da die HP-Bar ja durchsichtig wird, habe ich den ersten Block der HP-Bar genommen und mit *8 multipliziert um die gesamte Breite zu erhalten. Das hat auch ganz gut funktioniert bis ich dann fesgestellt habe dass die Anzahl Balken ja auch variieren
Ich würde ja einfach versuchen von dem Namen der untendrunter ist die Mitte zu finden (ist ebenfalls Kopf-X-Wert) aber der Rotton variiert einfach sehr stark..
Und dann sieht man noch auf Bild 1a) dass der Kopf beim Laufen durchaus nicht Zentral des Namens liegen kann.
Daher wollte ich durch die Rote Linie das erkennen. Aber da hab ich echt keine Ahnung, denn die Rote Linie hat verschiedene Rottöne die vom Hintergrund beeinflusst werden und wenn man da im Programm dann eine hohe Tolleranz einsetzt hat man schnell falsche Punkte..
Was ich später mal versuche:
Da die Hp Bar ja immer einen Mindestabstand zum Kopf hat versuche ich später mal folgendes:
Ich suche nach den 3 Pixeln in der HP-Bar (die man ja immer findet) und suche dann 80? pixel unterhalb und 20 pixel nach rechts vertikal nach einem passenden Pixel. Von dem Pixel aus könnte ich dann die 8 Aneckenden Pixel scannen und davon müsste es ja mindestens 2 geben (links und Rechts davon). Da ich ja den linken Pixel der HP-Bar als Offset und dieses links neben dem Kopf sein muss kann ich dann ja auch mit Sicherheit sagen dass alle Pixel die von meinem neuen gefunden Pixel aus Rechts liegen zum Kopf führen. Anders gesagt: Ich versuche mal der Linie "zu folgen" und den höchsten Rotpunkt zu finden, oder so :3
Im Anhang noch zwei neue Bilder.