Annuaire d'articles
Préface
Aujourd'hui, nous allons utiliser la boîte à outils de vision LabVIEW AI pour implémenter rapidement la lecture d'images et la conversion de l'espace colorimétrique, et collecter des images de la caméra. Les méthodes d'installation et de téléchargement de la boîte à outils peuvent être trouvées dans les deux blogs précédents.
1. Emplacement de la boîte à outils
La boîte à outils installée se trouve dans le schéma fonctionnel - palette de fonctions - Addons - VIRobotics - opencv_yiku, qui comprend : Opérations de type Mat (matrice), acquisition de caméra, lecture et écriture de fichiers image, opérateurs de base, génération vidéo, appels de réseau neuronal, etc. Fonction.
2. Acquisition d'images et conversion de l'espace colorimétrique
1. Lecture et écriture de fichiers
(1) Cliquez avec le bouton droit sur le panneau du diagramme : Fichier E/S, faites glisser les fonctions de chemin divisé et de chemin d'épissage vers le panneau du diagramme pour une utilisation ultérieure ;
(2) Cliquez avec le bouton droit sur le panneau du diagramme : Fichier E/S -> Constantes de fichier, faites glisser la fonction de chemin actuelle vers le panneau du diagramme pour une utilisation ultérieure ;
2. Mettre en œuvre la lecture d'images
(1) Cliquez avec le bouton droit dans l'espace vide du panneau du diagramme -> Recherchez la fonction imread à utiliser dans la palette de fonctions -> Addons -> VIRobotics -> opencv_yiku-imgcodes, et faites-la glisser vers l'extérieur ; (2) L'imread La fonction lit l'image du
chemin spécifié (format jpg/png/bmp), renvoie l'objet Mat, les entrées et sorties spécifiques sont les suivantes :
(3) Cliquez avec le bouton droit sur le panneau du diagramme : Contrôle d'application–>Nœud de propriété, faites glisser le nœud de propriété pour obtenir divers paramètres dans l'objet Mat (dans ce cas, il s'agit d'une image) et placez-le dans le contrôle image ; (4)
Libérez la ressource Mat ;
(5) Connectez-vous comme indiqué dans la figure ci-dessous, placez l'image à lire dans le même chemin que ce vi et exécutez-la ;
( 6) Lisez l'image comme indiqué ci-dessous (le côté gauche est l'image originale, le côté droit est l'image lue), nous avons constaté que la couleur de l'image lue est différente de l'image originale ;
3. Utilisez l'opérateur cvtColor pour implémenter la conversion de l'espace colorimétrique
(1) Étant donné que l'ordre de disposition des images dans LabVIEW est RVB et que l'ordre de disposition des images dans opencv est BGR, la couleur de l'image lue est différente de l'image d'origine ; (2) Utilisez l'opérateur cvtColor pour la conversion de l'espace colorimétrique, panneau de
diagramme Cliquez avec le bouton droit : Addons–>VIRobotics–>opencv_yiku–>imgproc : cvtColor, faites glisser ;
(3) L'entrée et la sortie de l'opérateur cvtColor sont telles qu'indiquées dans la figure ci-dessous :
(4) Comment utiliser l'opérateur (cvtColor) dans LabVIEW 1 : Le terminal d'entrée dst n'est pas connecté à l'entrée, et l'image de sortie après l'exécution de la fonction remplacera l'image d'origine (les valeurs de src out et dst out sont cohérents). Le programme et les résultats sont les suivants Comme le montre la figure :
(5) La deuxième façon d'utiliser l'opérateur (cvtColor) dans LabVIEW : L'entrée dst est connectée à un Create_Mat, c'est-à-dire qu'un nouvel objet mat est créé. Après avoir exécuté la fonction, le contenu de dst n'affectera pas le contenu de src ; le programme et les résultats sont présentés dans la figure ci-dessous :
3. Collectez des images de la caméra
1.Classe de caméra
(1) Créez un nouveau vi, faites un clic droit sur le panneau du diagramme : Addons–>VIRobotics --> opencv_yiku : Caméra. Recherchez la fonction d'initialisation de la caméra new_Cap. Cap est affiché dans le coin supérieur droit de la fonction. C'est une action nécessaire avant d'utiliser la caméra. Faites-le glisser vers un espace vide du panneau pour une utilisation ultérieure ;
(2) Cliquez avec le bouton droit sur le panneau du diagramme : Addons–>VIRobotics --> opencv_yiku : Caméra. Recherchez startCaptura et faites-le glisser vers l'espace vide du panneau. Si vous remplissez uniquement le cameraID lorsque vous utilisez cette fonction, veuillez vous assurer que la caméra est normale. Tant qu'une préférence est connectée, lorsqu'il y a plusieurs caméras locales, la caméra attribuée à l'ID sera utilisée en premier. Si la caméra n'existe pas, d'autres caméras seront utilisées.
(3) Cliquez avec le bouton droit sur le panneau du diagramme : Addons–>VIRobotics --> opencv_yiku : Caméra. Recherchez la fonction d'acquisition d'image readImage, qui est connectée après avoir allumé l'appareil photo pour obtenir l'image capturée par l'appareil photo. Image de sortie Mat (matrice);
(4) Cliquez avec le bouton droit sur le panneau du diagramme : Addons–>VIRobotics --> opencv_yiku : Caméra. Recherchez la fonction stopCapture, recevez-la à la fin du programme et libérez les ressources de la caméra. Si elle n'est pas utilisée, cela peut causer des désagréments la prochaine fois.
2.Nœud d'attribut
(1) Cliquez avec le bouton droit sur le panneau du diagramme : Contrôle d'application : Nœud de propriété, faites-le glisser et connectez-le à startCaptura
(2) Définissez la largeur et la hauteur en fonction de la résolution réellement prise en charge par la caméra. La flèche de l'attribut à droite indique la lecture. Il suffit de faire un clic droit et de sélectionner Change To Write pour le changer en écriture.
3. Réaliser la caméra pour collecter des images
Le programme global est le suivant, utilisez une boucle pour collecter des images, cliquez sur le bouton d'arrêt, la boucle se termine, tout le programme se termine et les ressources sont libérées.
4. Téléchargement du code source
Lien : https://pan.baidu.com/s/1TEihgoG5bIFz1SRCIab-mQ
Code d'extraction : 8888
Résumer
Pour plus d'informations sur LabVIEW et la technologie d'intelligence artificielle, vous pouvez rejoindre le groupe d'échange technique pour une discussion plus approfondie.
Numéro de groupe QQ : 705637299