[Ev3dev] Comment afficher une image bmp sur un écran LCD avec python

introduction

Cet article suppose que vous avez installé ev3dev sur votre EV3 et que vous disposez d'une connexion SSH. Si vous n'avez pas créé l'environnement, reportez-vous à cet article.

mindstorm - contrôlons EV3 avec Linux! Installez le système d'exploitation ev3dev et la connexion SSH

Aperçu

Je vais vous montrer comment afficher une image bmp sur l'écran LCD en utilisant ev3dev-lang-python de la bibliothèque python ev3dev. La méthode décrite dans la documentation officielle n'a pas fonctionné, j'espère donc que cet article vous sera utile.

Télécharger l'image bmp

Une image bmp d'une taille adaptée à l'affichage LCD a été fournie sur la page d'accueil de la bibliothèque. Téléchargez le fichier zip, décompressez-le et enregistrez-le dans EV3. BMP image collection image_catalog.png

Comment échouer

Affichons l'image bmp sur l'écran LCD.

La documentation officielle (https://media.readthedocs.org/pdf/python-ev3dev/latest/python-ev3dev.pdf) décrit la méthode image.

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))

Cependant, lorsque j'essaye de l'exécuter, il semble que la méthode image n'est pas définie et qu'une erreur se produit.

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'

Comment réussir

Cela a bien fonctionné avec le programme suivant.

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")) #La couleur est inversée
screen.draw.bitmap((0, 0), ImageOps.invert(logo.convert("L"))) #Succès

screen.update()

logo.convert("L")8 images dans-Conversion en monochrome de bits de pixels.


 Cependant, dans cet état, il y a une diminution du noir et blanc inversé lorsque l'écran LCD est affiché, donc ```ImageOps.invert () `` `est utilisé pour le restaurer.

 C'était affiché comme ça.
 ![awake.png](https://qiita-image-store.s3.amazonaws.com/0/149019/51f9fc2c-2323-86d1-bbad-7c3a95d45896.png)

## référence
>
[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] Créez un programme qui capture l'écran LCD (écran) en utilisant python](http://qiita.com/murotani/items/8f301c57d3e5741ea8f7)


Recommended Posts

[Ev3dev] Comment afficher une image bmp sur un écran LCD avec python
Comment afficher le japonais python avec lolipop
Stratégie sur la façon de monétiser avec Python Java
Comment recadrer une image avec Python + OpenCV
Comment récupérer des données d'image de Flickr avec Python
Python: comment utiliser async avec
Comment installer Python2.7 python3.5 avec pyenv (sur RHEL5 CentOS5) (novembre 2016)
Comment démarrer avec Python
Comment calculer la date avec python
IME On / Off est affiché par LED en coopération avec Python et Arduino
Pour utiliser python, mettez pyenv sur macOS avec PyCall
Comment afficher les marques de légende en un avec le tracé Python 2D
mail html avec image à envoyer avec python
Comment lire pydoc sur l'interpréteur python
[Python] Comment afficher des nombres aléatoires (module aléatoire)
[Kivy] Comment installer Kivy sur Windows [Python]
Introduction au remplissage d'image Python Remplissage d'image à l'aide d'ImageDataGenerator
Comment utiliser BigQuery en Python
Comment effacer Python 2.x sur Mac.
Comment afficher la table quatre-vingt-dix-neuf en python
Comment afficher des pictogrammes sur Manjaro Linux
Comment faire un test de sac avec python
Mémorandum sur l'utilisation du python gremlin
Comment régler le contraste de l'image en Python
Comment entrer le japonais avec les malédictions Python
Comment afficher Hello World en python
Comment installer python3 avec docker centos
Exemple de conversion en ondelettes d'images en Python
Comment couper la partie inférieure droite de l'image avec Python OpenCV
Comment dessiner une ligne verticale sur une carte de chaleur dessinée avec Python Seaborn
Comment télécharger avec Heroku, Flask, Python, Git (4)
[python] Comment afficher les éléments de la liste côte à côte
Comment lire un fichier CSV avec Python 2/3
Comment profiter de la programmation avec Minecraft (Ruby, Python)
[REAPER] Comment jouer à Reascript avec Python
Comment faire un traitement parallèle multicœur avec python
Convertir un PDF en image (JPEG / PNG) avec Python
Comment installer OpenCV sur Jetson Nano Python
[Python] Comment changer le format de la date (format d'affichage)
Comment utiliser la bibliothèque d'images Python dans la série python3
Comment utiliser Python Kivy ④ ~ Exécution sur Android ~
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
[Python] Comment lire des fichiers Excel avec des pandas
Comment exécuter MeCab sur Ubuntu 18.04 LTS Python
Comment spécifier des attributs avec Mock of Python
Comment installer OpenGM sur OSX avec macports
Comment mesurer le temps d'exécution avec Python Partie 1
Introduction à Python avec Atom (en route)
Comment utiliser tkinter avec python dans pyenv
Comment afficher des images en continu avec matplotlib Memo
[Python] Comment installer OpenCV sur Anaconda [Windows]
[Python] Comment gérer les caractères japonais avec openCV
[Python] Comment comparer la date / heure avec le fuseau horaire ajouté
Connectez-vous à MySQL avec Python sur Raspberry Pi
Comment mesurer le temps d'exécution avec Python, partie 2
[Python] Comment enregistrer des images sur le Web à la fois avec Beautiful Soup
Comment afficher dans toute la fenêtre lors de la définition de l'image d'arrière-plan avec tkinter
Comment installer Python