Autor Beitrag
Larus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: Di 06.11.07 15:55 
Wie kann ich auf die einzelnen Pixel zugreifen und diese Vergleichen?
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Di 06.11.07 16:06 
Bitte Suche benutzen. "Scanline", "Pixels", oder "Bitmap" sollten die richtigen Begriffe sein.
Larus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1340
Erhaltene Danke: 120

Win 10
RIO, CE, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 06.11.07 20:03 
Moin!

user profile iconLarus 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. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Larus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 431



BeitragVerfasst: Di 06.11.07 20:30 
Es können sich 2 Bilder überdecken aber es gibt auch nur 3 Farben in den Bildern...
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: 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.