Hallo Forum,
ich programmier seit einiger Zeit mit Qt und bin zur Zeit auf der Suche nach folgendem:
Ich habe ein kleines Bild1, beispielsweise ein Logo
Dann habe ich noch ein Bild2, beispielsweise eine Website
Nun suche ich eine Funktion in der Art Bild2.hasElement(Bild1) == true.
Also falls Bild1 ein Teil von Bild 2 ist, soll die Funktion true ergeben, falls nicht, false.
Gibt es schon so eine Funktion in QImage/QPixmap oder müsste ich sowas selbst erzaubern?
Bild1 in Bild2 vorhanden?
Sowas hab ich mir gedacht, aber nicht erhofft...
Wenn ich nun annehme, dass ein Bild ein 2D-Array von Farbwerten ist, in etwa so:
Bild1:
[3,2,0]
[2,1,2]
[0,2,3]
Bild2:
[1,1,2,3,2,0]
[1,0,1,2,1,2]
[1,1,0,0,2,3]
Dann müsste ich im Grunde nur Bild2 nachdem Vorkommen der Farbe suchen, die in Bild1 in der oberen linken Ecke vorkommt(3), dann den restlichen Teil vergleichen.
- falls false -> weiter scannen
- falls true -> Übereinstimmung.
Wenn ich nun annehme, dass ein Bild ein 2D-Array von Farbwerten ist, in etwa so:
Bild1:
[3,2,0]
[2,1,2]
[0,2,3]
Bild2:
[1,1,2,3,2,0]
[1,0,1,2,1,2]
[1,1,0,0,2,3]
Dann müsste ich im Grunde nur Bild2 nachdem Vorkommen der Farbe suchen, die in Bild1 in der oberen linken Ecke vorkommt(3), dann den restlichen Teil vergleichen.
- falls false -> weiter scannen
- falls true -> Übereinstimmung.
Danke, das war das, was ich gesucht habe, aber scheint mir doch etwas zu rechenintensiv und ineffizient zu sein.kater hat geschrieben:Google mal nach template matching, das ist ganz einfach, aber hoher Rechenaufwand.
Eine kleine Veränderung (Größe des Bildes) und schon kann ich das System vergessen, aber ich schau mich mal bei Pattern Recognition und OCR um.