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-Key: 196411

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

Printed on: April 18, 2024 at 01:04 o'clock

Member: Hitman4021
Hitman4021 Jan 02, 2013 at 15:07:12 (UTC)
Goto Top
Hallo,

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

Gruß
Member: webbudda
webbudda Jan 02, 2013 at 15:09:59 (UTC)
Goto Top
Bin für alles offen, kannst mir auf die Sprünge helfen? Optimalerweise emit einen code snipsel?

Klingt aber ziemlich gut.
Member: killtec
killtec Jan 02, 2013 at 15:22:32 (UTC)
Goto Top
Hi, für einen MD5 Hash oder SHA1 Hash gibt es fertige Programme. Z.B. hashcalc. (einfach mal googlen).

Gruß
Member: webbudda
webbudda Jan 02, 2013 at 15:36:02 (UTC)
Goto Top
Ich muss mich innerhalb von c sharp bewegen.
Member: Friemler
Friemler Jan 02, 2013 at 16:25:40 (UTC)
Goto Top
Member: webbudda
webbudda Jan 03, 2013 updated at 08:14:33 (UTC)
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ß
Member: webbudda
webbudda Jan 04, 2013 updated at 14:21:07 (UTC)
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); }
Member: webbudda
webbudda Jan 17, 2013 at 08:19:30 (UTC)
Goto Top
Kann mir jemand helfen? oder eine alternative vorschlagen?

vielen dank