| Autor |
Beitrag |
Larus
      
Beiträge: 431
|
Verfasst: Di 06.11.07 15:38
Hallo,
ich habe ein kleines Problem. Ich habe einen Screenshot und möchte nun aus einer Reihe von Grafiken die ich vorliegen habe erkennen, welche Grafiken alle in dem Screenshot vorkommen.
Hat jemand eine Idee wie man das realisieren kann?
Gruß Dominik
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Di 06.11.07 15:50
Du nimmst das erste Pixel der ersten Grafik, und suchst nach genau diesem Pixel. Wenn er im ganzen Bild nicht vorkommt, dann kann auch diese Grafik nicht drin vorkommen. Wenn du allerdings einen findest, dann schaust du, ob der nächste davon auch dem nächsten in der Grafik entspricht etc.
|
|
Larus 
      
Beiträge: 431
|
Verfasst: Di 06.11.07 15:55
Wie kann ich auf die einzelnen Pixel zugreifen und diese Vergleichen?
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Di 06.11.07 16:06
Bitte Suche benutzen. "Scanline", "Pixels", oder "Bitmap" sollten die richtigen Begriffe sein.
|
|
Larus 
      
Beiträge: 431
|
Verfasst: Di 06.11.07 16:34
Andere Frage... gibt es noch eine Performantere Möglichkeit sowas zu scannen?
Ich sag mal so... bei ca. 80 Grafiken die ich im "Screenshot" scannen will könnte das dann doch so seine Zeit dauern!?
|
|
Chryzler
      
Beiträge: 1097
Erhaltene Danke: 2
|
Verfasst: Di 06.11.07 16:37
So lange wird das bestimmt nicht dauern, müsste man halt ausprobieren. Scanline ist relativ schnell, da du mit Pointerarithmetik arbeiten kannst. Eine andere Möglichkeit ist mir nicht bekannt.
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Di 06.11.07 16:44
Ich würde mir vielleicht noch eine Blacklist mit farben machen die nicht verglichen werden. Ist z.B. der erste Pixel = clBlack, clBlue etc, dann nimm lieber den nächsten Pixel usw. Da diese Standardfarbe vermutlich im Screenshot sehr häufig vorkommen würde sonst der vergleichsvorgang extrem langwierig. Nur so eine Idee.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
Sinspin
      
Beiträge: 1340
Erhaltene Danke: 120
Win 10
RIO, CE, Lazarus
|
Verfasst: Di 06.11.07 19:52
Für deinen Zweck sollten Scanlines eigentlich ausreichend schnell sein. Alles andere macht auch wieder zusätzlichen Aufwand und bringt nur was wenn du höchst aufwendige untersuchungen durchführen willst.
Haben die Bilder die du suchen willst besondere Eigenschaften? Wie zum beispiel wenige verschiedene Farben? Oder eine bestimmte Form?
Können sich mehrere Bilder überdecken oder ist immer Platz dazwischen?
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 06.11.07 20:03
Moin!
Larus hat folgendes geschrieben: | | Andere Frage... gibt es noch eine Performantere Möglichkeit sowas zu scannen? |
Du könntest den Boyer-Moore-Algorithmus für Bilder anpassen, das sollte drastische Performacesteigerungen ermöglichen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Larus 
      
Beiträge: 431
|
Verfasst: Di 06.11.07 20:30
Es können sich 2 Bilder überdecken aber es gibt auch nur 3 Farben in den Bildern...
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Di 06.11.07 20:52
Vielleicht könntest du mal Screenshot und Grafiken posten, und den genauen Sinn und Zweck?
Dass sich die Grafiken überschneiden dürfen macht die Sache schon deutlich komplizierter, denn danach wäre jeder Pixel in einer der drei Farben ein mutmaßliches (aber eben überdecktes) Bild.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Di 06.11.07 22:04
Wenn die Grafiken nicht 1:1 im Screenshot vorkommen, sondern verkleinert/vergrößert, verzerrt, andere Farben etc., dann würde sich eine Mustererkennung eher eignen. Das geht dann aber irgendwann in Richtung KI und ist nicht trivial.
_________________ Na denn, dann. Bis dann, denn.
|
|