webbudda
Goto Top

Bildvergleich in C sharp

Hallo,

ich suche nach einer Lösung für einen schnellen Bildvergleich. Eig möchte ich nur prüfen bzw. warten, bis sich ein bestimmter Bereich vin schwarz auf z.B. grau ändert (bzw. einige Pixel davon).

Bin nicht so der C sharp profi aber ich dachte ich baue mir ein Rectangle und vergleiche das dann irgendwie?

Hat jemand einen Tipp?

Danke & gruß

Content-ID: 196411

Url: https://administrator.de/contentid/196411

Ausgedruckt am: 16.11.2024 um 05:11 Uhr

Hitman4021
Hitman4021 02.01.2013 um 16:07:12 Uhr
Goto Top
Hallo,

warum nimmst du nicht einen MD5 Hash der Bilder?
Dann erkennst du jeden Unterschied.

Gruß
webbudda
webbudda 02.01.2013 um 16:09:59 Uhr
Goto Top
Bin für alles offen, kannst mir auf die Sprünge helfen? Optimalerweise emit einen code snipsel?

Klingt aber ziemlich gut.
killtec
killtec 02.01.2013 um 16:22:32 Uhr
Goto Top
Hi, für einen MD5 Hash oder SHA1 Hash gibt es fertige Programme. Z.B. hashcalc. (einfach mal googlen).

Gruß
webbudda
webbudda 02.01.2013 um 16:36:02 Uhr
Goto Top
Ich muss mich innerhalb von c sharp bewegen.
Friemler
Friemler 02.01.2013 um 17:25:40 Uhr
Goto Top
webbudda
webbudda 03.01.2013 aktualisiert um 09:14:33 Uhr
Goto Top
Hallo,

besten Dank!
Von was genau empfehlt ihr denn den hash zu nehmen?
Ich habe bisher halt nur mein
Rectangle myRectyngle = new Rectangle(middlePoint.X, middlePoint.Y, offset, offset);

Vielleicht ist das doch nicht optimal, da ich eine zeitliche Veränderung messen will. heisst: Das Bild ändert sich von schwarz zu irgendwas. Die Zeit möchte ich messen. Da das ganze auf die Performance ankommt und ich nicht weiß, wie "schenll" das schwarze Bild "ersetzt" wurde, würde ich fast lieber auf den Vergleich (also hash vom schwarzen Bild) verzichten.

Einfacher wäre doch bestimmt: gucke, wenn Inhalt des rectangles nicht mehr schwarz -> halte Stoppuhr an.

Danke & Gruß
webbudda
webbudda 04.01.2013 aktualisiert um 15:21:07 Uhr
Goto Top
Hallo,

folgende Frage hätte ich noch: wie kann ich den screen-Inhalt meines Rectangles in das bitmap bekommen?

Ich habe etwa folgendes gebaut:
- relevater bereich auf dem desktop Rectangle myRectyngle = new Rectangle(middlePoint.X, middlePoint.Y, offset, offset); - screen-Inhalt aus dem rectangle in bitmap speichern Bitmap myBitmap = new Bitmap ??? - hole zu checkenden pixel, später mehrere checken Color pixelcolor = myBitmap.GetPixel(middlePoint.X, middlePoint.Y); - wait until pixel is not black anymore while (pixelcolor == Color.Black) { pixelcolor = myBitmap.GetPixel(middlePoint.X, middlePoint.Y); }
webbudda
webbudda 17.01.2013 um 09:19:30 Uhr
Goto Top
Kann mir jemand helfen? oder eine alternative vorschlagen?

vielen dank