[Ev3dev] So zeigen Sie ein BMP-Bild mit Python auf dem LCD an

Einführung

In diesem Artikel wird davon ausgegangen, dass Sie ev3dev auf Ihrem EV3 installiert haben und über eine SSH-Verbindung verfügen. Wenn Sie die Umgebung nicht erstellt haben, lesen Sie bitte diesen Artikel.

mindstorm-Lass uns EV3 unter Linux steuern! Ev3dev OS und SSH-Verbindung installieren

Überblick

Ich werde Ihnen zeigen, wie Sie mit ev3dev-lang-python der Python-ev3dev-Bibliothek ein BMP-Bild auf dem LCD-Bildschirm anzeigen. Die in der offiziellen Dokumentation beschriebene Methode hat nicht funktioniert, daher hoffe ich, dass Sie diesen Artikel hilfreich finden.

BMP-Bild herunterladen

Auf der Homepage der Bibliothek wurde ein BMP-Bild mit einer für die LCD-Anzeige geeigneten Größe bereitgestellt. Laden Sie die Zip-Datei herunter, entpacken Sie sie und speichern Sie sie in EV3. BMP image collection image_catalog.png

Wie man scheitert

Lassen Sie uns das BMP-Bild auf dem LCD anzeigen.

Die offizielle Dokumentation (https://media.readthedocs.org/pdf/python-ev3dev/latest/python-ev3dev.pdf) beschreibt die Bildmethode.

image Returns a handle to PIL.Image class that is backing the screen. This can be accessed for blitting images to the screen. Example:

screen.image.paste(picture, (0, 0))

Wenn ich jedoch versuche, es auszuführen, scheint es, dass die Bildmethode nicht definiert ist und ein Fehler auftritt.

robot@ev3dev:~$ python
Python 2.7.9 (default, Aug 13 2016, 17:33:18)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
  
>>>from PIL import Image, ImageDraw, ImageFont, ImageOps
>>>import ev3dev.auto as ev3
>>> screen = ev3.Screen()
>>>logo = Image.open('test.bmp')
>>> screen.image.paste(logo,(0,0))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Screen' object has no attribute 'image'

Wie man Erfolg hat

Mit dem folgenden Programm hat es gut funktioniert.

bmp_lcd.py



mport ev3dev.auto as ev3
from PIL import Image, ImageDraw, ImageFont, ImageOps

screen = ev3.Screen()
logo = Image.open('EV3_BMPs/Awake.bmp')
#screen.draw.bitmap((0, 0), logo.convert("L")) #Die Farbe ist umgekehrt
screen.draw.bitmap((0, 0), ImageOps.invert(logo.convert("L"))) #Erfolg

screen.update()

logo.convert("L")8 Bilder in-Konvertieren in Monochrom von Bitpixeln.


 In diesem Zustand werden Schwarzweiß jedoch invertiert, wenn es auf dem LCD angezeigt wird. Daher wird ImageOps.invert () verwendet, um es wiederherzustellen.

 Es wurde so angezeigt.
 ![awake.png](https://qiita-image-store.s3.amazonaws.com/0/149019/51f9fc2c-2323-86d1-bbad-7c3a95d45896.png)

## Referenz
>
[https://sites.google.com/site/ev3python/learn_ev3_python/screen/bmp-image-collection](https://sites.google.com/site/ev3python/learn_ev3_python/screen/bmp-image-collection)
>
[http://pillow.readthedocs.io/en/3.3.x/handbook/concepts.html#modes](http://pillow.readthedocs.io/en/3.3.x/handbook/concepts.html#modes)

>
 [[Ev3dev] Erstellen Sie ein Programm, das LCD (Bildschirm) mit Python erfasst](http://qiita.com/murotani/items/8f301c57d3e5741ea8f7)


Recommended Posts

[Ev3dev] So zeigen Sie ein BMP-Bild mit Python auf dem LCD an
So zeigen Sie Python-Japanisch mit Lolipop an
Strategie zur Monetarisierung mit Python Java
So beschneiden Sie ein Bild mit Python + OpenCV
So kratzen Sie Bilddaten von Flickr mit Python
Python: So verwenden Sie Async mit
So installieren Sie Python2.7 python3.5 mit pyenv (unter RHEL5 CentOS5) (2016 Nov)
Erste Schritte mit Python
So berechnen Sie das Datum mit Python
IME On / Off wird in Zusammenarbeit mit Python und Arduino durch LED angezeigt
So verwenden Sie Python in Pyenv unter MacOS mit PyCall
Anzeigen von Legendenmarkierungen in einem mit Python 2D-Plot
HTML-Mail mit Bild zum Senden mit Python
Wie man pydoc auf Python Interpreter liest
[Python] So zeigen Sie Zufallszahlen an (Zufallsmodul)
[Kivy] So installieren Sie Kivy unter Windows [Python]
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
So arbeiten Sie mit BigQuery in Python
So löschen Sie Python 2.x auf einem Mac.
So zeigen Sie die neunundneunzig Tabelle in Python an
So zeigen Sie Piktogramme unter Manjaro Linux an
Wie man einen Taschentest mit Python macht
Memorandum über die Verwendung von Gremlin Python
So passen Sie den Bildkontrast in Python an
Wie man mit Python-Flüchen Japanisch eingibt
So zeigen Sie Hello World in Python an
So installieren Sie Python3 mit Docker Centos
Beispiel für die Wavelet-Konvertierung von Bildern in Python
So schneiden Sie den unteren rechten Teil des Bildes mit Python OpenCV
Wie zeichnet man eine vertikale Linie auf einer Heatmap, die mit Python Seaborn gezeichnet wurde?
Hochladen mit Heroku, Flask, Python, Git (4)
[Python] So zeigen Sie die Elemente der Liste nebeneinander an
Lesen einer CSV-Datei mit Python 2/3
Wie man Spaß am Programmieren mit Minecraft hat (Ruby, Python)
[REAPER] Wie man Reascript mit Python spielt
So führen Sie eine Mehrkern-Parallelverarbeitung mit Python durch
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
So installieren Sie OpenCV auf Jetson Nano Python
[Python] So ändern Sie das Datumsformat (Anzeigeformat)
Verwendung der Python-Bildbibliothek in der Python3-Serie
Verwendung von Python Kivy ④ ~ Ausführung unter Android ~
[Python] Zeichnen mehrerer Diagramme mit Matplotlib
[Python] Wie man Excel-Dateien mit Pandas liest
So führen Sie MeCab unter Ubuntu 18.04 LTS Python aus
So legen Sie Attribute mit Mock of Python fest
So installieren Sie OpenGM unter OSX mit Macports
So messen Sie die Ausführungszeit mit Python Teil 1
Einführung in Python mit Atom (unterwegs)
Wie man tkinter mit Python in Pyenv benutzt
So zeigen Sie Bilder kontinuierlich mit matplotlib Memo an
[Python] So installieren Sie OpenCV unter Anaconda [Windows]
[Python] Umgang mit japanischen Zeichen mit openCV
[Python] Vergleichen von Datum und Uhrzeit mit der hinzugefügten Zeitzone
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
So messen Sie die Ausführungszeit mit Python Part 2
[Python] So speichern Sie Bilder mit Beautiful Soup sofort im Web
So zeigen Sie im gesamten Fenster an, wenn Sie das Hintergrundbild mit tkinter einstellen
So installieren Sie Python