Documentation des fonctions
Ce document présente les différentes fonctions et Énumérations de traitement d’images disponibles pour le traitement d’images.
Ces fonctions sont divisées en sous-sections :
Les fonctions contenues dans Pur traitement d’images permettent d’utiliser le seuillage, la détection de contours,…
La section Workspaces contient les fonctions permettant d’extraire le workspace et de gérer les position relatives dans le workspace
La section Affiche permet d’afficher des images
Retouche d’image contient un grand nombre de fonctions qui permettent de compresser les images, y ajouter du texte, …
Pur traitement d’images
- image_functions.threshold_hsv(list_min_hsv, list_max_hsv, reverse_hue=False, use_s_prime=False)
Prend une image RVB (résultat OpenCV imread) et retourne une image seuillée en fonction des valeurs de HSV (Teinte, Saturation, Valeur). Le pixel vaudra 1 s’il a une valeur entre min_v et max_v pour tous les canaux.
- Paramètres
img (numpy.array) – Image BVR si rgb_space = faux
list_min_hsv (list[int]) – liste correspondant à [min_value_H,min_value_S,min_value_V]
list_max_hsv (list[int]) – liste correspondant à [max_value_H,max_value_S,max_value_V]
use_s_prime (bool) – Vrai si vous voulez utiliser le canal S comme S” = S x V, autrement classique
reverse_hue (bool) – Utile pour la couleur rouge car elle est aux deux extrêmes
- Renvoie
image seuillée
- Type renvoyé
numpy.array
- image_functions.debug_threshold_color(color_hsv)
Retourne une image masquée afin de voir l’effet du seuillage des couleurs
- Paramètres
img (numpy.array) – image OpenCV
color_hsv (ColorHSV) – Couleur utilisée pour le débogage
- Renvoie
Image masquée
- Type renvoyé
numpy.array
- image_functions.morphological_transformations(morpho_type=<MorphoType.CLOSE: 3>, kernel_shape=(5, 5), kernel_type=<KernelType.ELLIPSE: 2>)
Prend une image en noir et blanc et y applique une transformation morphologique
- Paramètres
im_thresh (numpy.array) – Image en noir et blanc
morpho_type (MorphoType) – CLOSE/OPEN/ERODE/DILATE => consultez OpenCV ou Google si vous ne savez pas ce que ces mots signifient.
kernel_shape (tuple[float]) – tuple correspondant à la taille du noyau
kernel_type (KernelType) – RECT/ELLIPSE/CROSS => voir sur OpenCV
- Renvoie
image après traitement
- Type renvoyé
numpy.array
- image_functions.get_contour_barycenter()
Retourne le barycentre d’un contour OpenCV
- image_functions.get_contour_angle()
Retourne l’orientation d’un contour en fonction de son plus petit côté afin d’être correctement orienté pour le gripper
- Paramètres
contour (OpenCV Contour) – contour
- Renvoie
Angle en radians
- Type renvoyé
- image_functions.biggest_contour_finder()
- image_functions.biggest_contours_finder(nb_contours_max=3)
Fonction permettant de trouver le contour le plus grand d’une image binaire
- image_functions.draw_contours(contours)
Dresse une liste des contours d’une image et retourne le schéma de l’image
- Paramètres
img (numpy.array) – Image
contours (list[OpenCV Contour]) – List des contours
- Renvoie
Image avec schéma
- Type renvoyé
numpy.array
- image_functions.draw_barycenter(cx, cy, color=(255, 0, 255), marker_size=10, thickness=2)
Dessine le barycentre d’un contours sur une image et retourne l’image dessinée
- image_functions.draw_angle(cx, cy, angle, color=(0, 0, 255), arrow_length=30, thickness=2)
Dessine une flèche qui représente l’orientation d’un objet surune image et retournez l’image du dessin
- Paramètres
- Renvoie
Image avec schéma
- Type renvoyé
numpy.array
Workspaces
- image_functions.extract_img_workspace(workspace_ratio=1.0)
Extrait la zone de travail d’une image grâce aux 4 marqueurs Niryo
- Paramètres
img (numpy.array) – Image OpenCV qui contient les 4 marqueurs Niryo
workspace_ratio (float) – Ration entre la largeur et la hauteur de la zone représentée par les marqueurs
- Renvoie
Image extraite et déformée de la zone de travail
- Type renvoyé
numpy.array
- image_functions.debug_markers(workspace_ratio=1.0)
Affiche les marqueurs détectés dans une image
- Paramètres
img (numpy.array) – Image OpenCV qui contient les marqueurs Niryo
workspace_ratio (float) – Ration entre la largeur et la hauteur de la zone représentée par les marqueurs
- Renvoie
(statut, image annotée)
- Type renvoyé
numpy.array
Affiche
- image_functions.show_img_and_check_close(img)
Affiche une image et vérifie si l’utilisateur veut fermer
- image_functions.show_img(img, wait_ms=1)
Affiche une image pendant une certaine durée
Retouche d’image
- image_functions.compress_image(quality=90)
Compresse une image OpenCV
- image_functions.uncompress_image()
Prend une image compressée et retourne une image OpenCV
- Paramètres
compressed_image (str) – Image compressée
- Renvoie
image OpenCV
- Type renvoyé
numpy.array
- image_functions.add_annotation_to_image(text, write_on_top=True)
Ajoute une annotation à une image
- image_functions.undistort_image(mtx, dist)
Utilise les intrinsèques de l’image pour soigner la distortion d’une image brute
- image_functions.resize_img(width=None, height=None, inter=3)
Redimensionne une image. L’utilisateur doit préciser uniquement la largeur ou la hauteur s’il souhaite conserver le ratio de l’image
Énumérations de traitement d’images
Les énumérations sont utilisées pour passer des paramètres spécifiques aux fonctions.
Liste des énumérations
- class ColorHSV(value)[source]
MIN HSV, MAX HSV, Invert Hue (bool)
- BLUE = ([90, 50, 85], [125, 255, 255], False)
- RED = ([15, 80, 75], [170, 255, 255], True)
- GREEN = ([40, 60, 75], [85, 255, 255], False)
- ANY = ([0, 50, 100], [179, 255, 255], False)