Farben automatisch erkennen und zuordnen

Du hast eine Idee für ein Projekt?
e1st33
User
Beiträge: 1
Registriert: Dienstag 14. Juni 2016, 19:00

Farben automatisch erkennen und zuordnen

Beitragvon e1st33 » Dienstag 14. Juni 2016, 19:09

Moin....

ich bin ein Python Anfänger und wollte mich damit mal beschäftigen.

Mein ziel ist es, unter einem Pi3, ein Programm zu haben das es mit ermöglicht die Farbe die sich unter dem Mauszeiger ist zu erkennen und zu notieren.

Im Sinne von :

35 Sekungen Warten
Farbe erkennen -> Notieren
35 Sekunden Warte


Ich hoffe jemand kann mir weiter helfen :)
Benutzeravatar
noisefloor
User
Beiträge: 1846
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Re: Farben automatisch erkennen und zuordnen

Beitragvon noisefloor » Mittwoch 15. Juni 2016, 08:37

Hallo,

ch hoffe jemand kann mir weiter helfen

Genau die gleiche Frage gibt's ja auch schon bei ubuntuusers.de: Link zum Thread.

Da habe ich schon was dazu geschrieben und da gibt es auch schon eine Musterlösung in C.

Gruß, noisefloor
Benutzeravatar
snafu
User
Beiträge: 5248
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Re: Farben automatisch erkennen und zuordnen

Beitragvon snafu » Mittwoch 15. Juni 2016, 08:48

@e1st33:
Was gefällt dir an der Antwort von Vain aus dem uu.de-Forum nicht? Falls die Lösung zwingend in Python sein soll: Es gibt eine Anbindung zur Xlib auch für Python (findet man unter den entsprechenden Suchbegriffen). Ansonsten könnte man ein GUI-Framework benutzen. Ich weiß nicht, inwieweit Qt oder ähnliche Bibliotheken dazu fähig sein. Natürlich würde dies aber die Abhängigkeiten weiter aufblähen. Die Lösung in C wäre deutlich leichtgewichtiger, da die Xlib beim Raspi meines Wissen vorinstalliert ist.
shcol (Repo | Doc | PyPi)
BlackJack

Re: Farben automatisch erkennen und zuordnen

Beitragvon BlackJack » Mittwoch 15. Juni 2016, 10:27

Das C-Programm aus dem uu-Forum leicht abgeändert, so dass kein Bildschirmfoto vom *ganzen* Bildschirm gemacht wird, und nach Python portiert:
  1. #!/user/bin/env python
  2. # coding: utf8
  3. from __future__ import absolute_import, division, print_function
  4. from time import sleep
  5.  
  6. from Xlib import X
  7. from Xlib.display import Display
  8.  
  9.  
  10. def main():
  11.     display = Display()
  12.     try:
  13.         root = display.screen().root
  14.         while True:
  15.             pointer = root.query_pointer()
  16.             image = root.get_image(
  17.                 pointer.root_x, pointer.root_y, 1, 1, X.ZPixmap, 0xffffffff
  18.             )
  19.             pixel = map(ord, image.data)
  20.             print('Color under pointer (BGRA format):', pixel)
  21.  
  22.             while display.pending_events():
  23.                 display.next_event()
  24.  
  25.             sleep(1)
  26.     finally:
  27.         display.close()
  28.  
  29.  
  30. if __name__ == '__main__':
  31.     main()
Adlerauge
User
Beiträge: 2
Registriert: Mittwoch 27. Juli 2016, 12:36

Re: Farben automatisch erkennen und zuordnen

Beitragvon Adlerauge » Mittwoch 27. Juli 2016, 12:59

Hallo zusammen,

ich bin gerade auf das Thema hier gestoßen.

Kann mir jemand dazu weiter helfen?
Und zwar habe ich das mal so ausprobiert. funktioniert auf dem Pi ganz gut, leider ist der mit der Rechenleistung zu schnell am Ende.
Jetzt habe ich es probiert, über Python von Windows aus zu starten.
Leider klappt das da nicht. Er gibt mir immer eine Fehlermeldung.

Kann mir wer sagen wo das Problem ist?

Lg
sebastian0202
User
Beiträge: 140
Registriert: Montag 9. Mai 2016, 09:14
Wohnort: Berlin

Re: Farben automatisch erkennen und zuordnen

Beitragvon sebastian0202 » Mittwoch 27. Juli 2016, 13:02

Hallo!

Wenn du uns verrätst wie die Fehlermeldung lautet, können wir vielleicht helfen.
BlackJack

Re: Farben automatisch erkennen und zuordnen

Beitragvon BlackJack » Mittwoch 27. Juli 2016, 13:19

@Adlerauge: Wieso ist der mit der Rechenleistung zu schnell am Ende? Im Sekunden-Intervall die Farbe eines Pixels auszulesen dürfte selbst das allererste Raspi-Modell nicht wirklich fordern.

Unter Windows erfolgt die Anzeige nicht über X, also kann man da mit `Xlib` auch nichts wollen. Da musst Du Dir irgendwas mit der Windows-API basteln.
Adlerauge
User
Beiträge: 2
Registriert: Mittwoch 27. Juli 2016, 12:36

Re: Farben automatisch erkennen und zuordnen

Beitragvon Adlerauge » Freitag 29. Juli 2016, 15:04

Hallo zusammen,

sry das ich mich so spät melde, die 'Woche wahr recht hart :)

Also Fehler ist
Traceback (most recent call last):
File "C:\Users\Adlerauge\Desktop\123 test ohne time.py", line 5, in <module>
from Xlib import X
ImportError: No module named Xlib

Code: Alles auswählen

from __future__ import absolute_import, division, print_function
from time import sleep


from Xlib import X
from Xlib.display import Display


def main():
    display = Display()
    try:
        root = display.screen().root
        while True:
            pointer = root.query_pointer()
            image = root.get_image(
                372, 739, 1, 1, X.ZPixmap, 0xffffffff
            )
            pixel = map(ord, image.data)
            print(pixel)

       
            while display.pending_events():
                display.next_event()

            sleep(50)
    finally:
        display.close()


if __name__ == '__main__':
    main()
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Re: Farben automatisch erkennen und zuordnen

Beitragvon Dav1d » Freitag 29. Juli 2016, 16:11

Adlerauge hat geschrieben:Also Fehler ist
Traceback (most recent call last):
File "C:\Users\Adlerauge\Desktop\123 test ohne time.py", line 5, in <module>
from Xlib import X
ImportError: No module named Xlib


Steht doch alles da, du hast das Xlib-Modul nicht installiert, was aber auch nicht verwunderlich ist .. weil, wie BlackJack das schon gesagt hat, es gibt keinen Xserver auf Windows, deshalb auch der Verweis auf die Windows-API.
the more they change the more they stay the same

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder