Dessiner
Les systèmes de vision doivent généralement fournir un retour visuel aux utilisateurs. Il est très intuitif de l'afficher directement dans l'image. Comme dans le programme de démarrage rapide en 10 minutes, lorsqu'un bloc de couleur est trouvé, cette zone est marquée avec un cadre rectangulaire, ce qui est très intuitif.

Remarque :
La couleur peut être une valeur de gris (0-255) ou un tuple de valeurs de couleur (r, g, b). La valeur par défaut est blanc.
Le mot-clé de couleur doit être explicitement indiqué avec color=. Par exemple :
image.draw_line((10,10,20,30), color=(255,0,0))
image.draw_rectangle(rect_tuple, color=(255,0,0))
Dessiner une ligne
- image.draw_line(line_tuple, color=White) Dessine une ligne droite dans
l'image.
- Le format de line_tuple est (x0, y0, x1, y1), ce qui signifie une ligne droite de (x0, y0) à (x1, y1).
- La couleur peut être une valeur de gris (0-255) ou un tuple de valeurs de couleur (r, g, b). La valeur par défaut est blanc
Dessiner un rectangle
- image.draw_rectangle(rect_tuple, color=White) Dessine un cadre rectangulaire
dans l'image.
- Le format de rect_tuple est (x, y, w, h).
Dessiner un cercle
- image.draw_circle((x, y, radius), color=White) Dessine un cercle dans
l'image.
- x,y sont les coordonnées du centre du cercle
- radius est le rayon du cercle
Dessiner une croix
- image.draw_cross((x, y), size=5, color=White) Dessine une croix dans l'image
- x,y sont les coordonnées
- size est la taille des deux branches
Écrire du texte
- image.draw_string((x, y), text, color=White) Écrit du texte dans l'image en
caractères de 8x10 pixels
- x,y sont les coordonnées. L'utilisation de \n, \r, et \r\n déplacera le curseur à la ligne suivante.
- text est la chaîne de caractères à écrire.
Exemple
# Exemple Hello World
#
# Bienvenue dans l'IDE OpenMV ! Cliquez sur le bouton de lecture vert ci-dessous pour exécuter le script !
import csi, image, time
csi0 = csi.CSI()
csi0.reset() # initialise la caméra
csi0.pixformat(csi.RGB565) # format RGB565.
csi0.framesize(csi.QQVGA)
csi0.snapshot(frames=10) # ignore 10 images pour que les nouveaux réglages prennent effet
while(True):
img = csi0.snapshot() # Prend une photo et renvoie l'image.
img.draw_line((20, 30, 40, 50))
img.draw_line((80, 50, 100, 100), color=(255,0,0))
img.draw_rectangle((20, 30, 41, 51), color=(255,0,0))
img.draw_circle((50, 50, 30))
img.draw_cross((90, 60),size=10)
img.draw_string((10, 10), "hello world!")
