screenshots

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Moin,
hab mal wieder eine Frage, und zwar würd ich gern in regelmässigen Abständen Screenshots machen und den Bildschirminhalt (oder Teile davon) mit Python quasi-OCR-mässig behandeln.
Ich würde dazu jetzt mit zB Autohotkey einen screenshot (strg-druck) in die Zwischenablage machen und diese dan mit Python öffnen. Frage ist, wie komme ich mit python an dieses Bild in der Zwischenablage? Oder gibt es vielleicht eine Möglichkeit von einem Python-script aus direkt auf den Bildschirminhalt zuzugreifen?

(Mit quasi-OCR meine ich, dass ich Zahlen in bestimmten zeilen brauche; diese sind immer im selben Zeichensatz und stehen immer an derselben stelle, also wollte ich einfach in den entsprechenden Bereichen von links nach rechts in 9x1-pixel-blöcken die (schwarzen) pixel zählen, daraus ergäbe sich dann, welche Zahlen dort stehen: 0,5,3,3,3,3,7,0 wäre zB eine neun. Das wäre meine nächste Frage: Wie könnte ich sowas realisieren, also eigentlich: wie greife ich dann auf ein bestimmtes Pixel in diesem Bild zu, um zu testen ob es schwarz ist oder nicht?

Ich hoffe ihr könnt mir tips geben und sage schonmal danke,
Gruss,
Jo
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Unter Linux geht das einfach mit Commandline-Tools wie "import" von imagemagick. Zumindest das braucht aber einen X-Server.

Google spuckt unter anderem folgende Links aus:
http://aspn.activestate.com/ASPN/Cookbo ... ipe/496853 - Da hatte jemand die selbe Idee wie du.

http://www.blendedtechnologies.com/quic ... hon-pil/38 - Da hat es jemand mit der PIL gemacht.

http://www.google.ch/search?q=python+gr ... ot+windows :wink:
jo_hb
User
Beiträge: 72
Registriert: Donnerstag 26. April 2007, 09:21

Danke, PIL scheint genau richtig zu sein! :)
gecko
User
Beiträge: 47
Registriert: Samstag 9. Juni 2007, 10:48

Einzelne Pixel kann man mit getPixel auslesen.

Ansonsten erzielt man mit Pytesser als Bridge zu Tesseract gute OCR Ergebnisse. Im Zweifelsfall muss man das Bild mit der PIL noch vorverarbeiten (Konstrast erhöhen und ähnliches).
Antworten