Le RR.O.P. - projet OpenCV RaspRobot (7 / 14 étapes)

Étape 7: Créer et configurer le système informatique de la Vision (CVS)

La bibliothèque OpenCV est là s’effectue toutes les opérations de traitement de la vidéo et les informations extraites de ce traitement soient fait en plateforme robotique de décisions et d’autres composants qui permettent au système dynamique. Sa version est la OpenCV-2.2.8 étant de présenter des exemples et toutes les fonctions disponibles dans les versions pour Windows, MAC et Linux.

Il était nécessaire de procéder à l’installation avec la commande :

Mise à jour du système : sudo apt-get update
Installer les mises à jour : sudo apt-get upgrade
Installer la librairie OpenCV : sudo apt-get installer python-opencv

Le CVS (Computer Vision System) :

L’illustration de cette étape représente l’ensemble des fonctions du système. Ces fonctions sont exécutées séquentiellement, à plusieurs reprises et pour des valeurs réelles des caractéristiques dynamiques de l’objet (coordonnées et taille), jusqu'à six fois (ou six variantes) une seconde fois. C’est à dire, chaque seconde sont générés jusqu'à six valeurs qui seront traitées et comparées, rationalisation de la plate-forme.

Utilisez la figure de cette étape pour la description de chaque étape :

  1. Tout d’abord il était nécessaire de capturer (ou recevoir) l’image ou, plus précisément l’image contenant l’image (frame). La taille est de 160 x 120 pixels. Le cadre dans son ensemble (par exemple, 640 pixels en largeur et 480 pixels de haut), provoqué des ralentissements dans le processus de reconnaissance lorsque l’image a été transmise à distance. Le système par défaut est la couleur RVB, ce système de couleur est représenté dans le cadre de webcam obtenu à travers les couleurs fondamentales : rouge (Red), vert (Green) et bleu (bleu). Ces couleurs sont représentées sur un vecteur de dimension de pixel par pixel, par exemple, la couleur rouge est représenté 0com valeurs (0, 255, 0), respectivement représentées pour chaque canal. Autrement dit, chaque pixel possède sa valeur RGB représentée par trois octets (rouge, vert et bleu).
  2. Après l’image capturée, a entrepris la conversion de système de couleur RVB de la couleur HSV (hue, saturation et valeur) , étant donné que ce modèle décrit semblable à la reconnaissance par les couleurs de le œil humain. Étant donné que le système RVB (rouge, vert et bleu) a les couleurs basés sur des combinaisons des couleurs primaires (rouge, vert et bleu) et le système HSV définit les couleurs comme leur couleur, éclat et brillance (teinte, saturation et valeur), facilitant l’extraction de l’information. Dans le diagramme l’étape 2 montre la conversion de RVB en VHS, en utilisant le "cvtColor" native OpenCV, qui convertit l’image d’entrée d’une couleur d’entrée à une autre fonction.
  3. Avec une image en modèle TSV , il était nécessaire de trouver les valeurs correctes de HSV minimale et maximale couleur de l’objet qui sera suivie. Pour enregistrer ces valeurs, ont fait deux vecteurs avec un minimum de VHS et VHS maximale objet color comme valeurs : luminosité Minimum de saturation (62) minimum Minimum de teinte (42) (63) luminosité maximale de Saturation maximale (255) Maximum Hue (92) (235). Donc la prochaine étape pour générer une image binaire, l’information pertinente peut être limitée que dans le contexte de ces valeurs. Ces valeurs sont nécessaires pour limiter le modèle de couleur de l’objet. Une fonction de comparaison des valeurs de pixel avec les valeurs standard du vecteur inséré a été utilisée. Le résultat est une image binaire ne prévoyant qu’une seule valeur de chaque pixel.
  4. Après avoir fait la segmentation, résultant dans l’image binaire, il est à noter que les bruits sont toujours présents dans le cadre. Ces bruits sont des éléments qui nuisent à la segmentation (y compris l’obtention de la taille réelle) de l’objet. Difficulté (ou tenter de fixer) ce problème, il était nécessaire d’appliquer une transformation morphologique par des exploitants dans le cadre, afin que les pixels ont été supprimés qui ne respectait pas la norme souhaitée. Pour ce faire, l’opérateur morphologique l’érosion, qui a effectué un « propre » dans le cadre, en réduisant le bruit qu’il contenue a été utilisé.
  5. Puis, il servait à la fonction de "Moments" , qui permet de calculer les moments de contour positif (blanc) à l’aide d’une intégration de tous les pixels présents dans le contour. Cette fonctionnalité n’est possible que dans un cadre déjà binarizado et sans bruit, afin que la taille du contour de l’objet n’est pas modifiée par Eparses pixels dans l’image, qui entravent et causent la redondance dans l’information.
    moments = cv2.moments (imgErode, True)

    Dans l’exemple proposé, il était nécessaire de trouver la zone du contour et ses coordonnées dans le cadre à effectuer les calculs de repositionnement du châssis. Le calcul de la surface de l’objet effectue la somme binaire de positif, générant la variable M00 et enregistré dans la variable "zone" :
    zone = moments ['m00']
    La spécificité du contour fait référence à un objet, pas un polygone. Cette valeur se trouve une superficie approximative de pixels positifs (blanc) qui composent l’objet. Si cette valeur est null, est ignoré l’existence d’une couleur de l’objet traité (si la couleur « verte ») dans le cadre. L’utilisation de cette fonctionnalité aideront à accomplir le mouvement du robot s’approcher et éloigner de l’objet cible, en essayant de traiter le problème de la profondeur. Autrement dit, le fait que l’objet est s’approcher ou éloigner trop des châssis.

    Et de la cible zone était possible, de définir les coordonnées de l’objet dans ce cadre. Pour les coordonnées de l’objet a été utilisés paramètres obtenus fonction de Moments qui trouve ses coordonnées. Mais c’était coordonnée fondée sur le centre de gravité de l’objet, est trouvé seulement si la zone de l’objet est supérieure à zéro. L’utilisation de cette fonctionnalité était important de faire le mouvement d’ajustement horizontal et vertical du robot afin d’augmenter le degré de liberté et de minimiser les restrictions des déplacements de l’objet à identifier. À l’aide de la zone du paramètre objet et combiné avec M00 x et y paramètres Moments de fonction, il était possible de trouver les coordonnées (x, y).

Les valeurs reçues dans les coordonnées (x, y) renvoie ainsi à la mise en place de la segmentation a trouvé de l’objet par rapport à la trame et de faciliter l’interprétation de l’information qui est tracée d’après les informations de coordination, une fonction qui dessine un cercle dans le centre de gravité a été appliqué à l’objet.

Le résultat :

Étape 6 sera en démonstration au cours des prochaines étapes qu'il sera nécessaire d’expliquer la configuration des moteurs et autres pièces avant de procéder à la présente partie.

Le script attaché « SVC.py » vous permet de commencer à comprendre comment le système fonctionne. Si des problèmes donnent votre Pi de framboise, je recommande examinant les bibliothèques installées ou contact.
Comment faire pour exécuter un python script dans Raspberry Pi?? cliquez ici!

Nous allons procéder avec le robot de l’Assemblée ? Se mettre au travail !

Articles Liés

Mise en route avec OpenCV et Intel Edison

Mise en route avec OpenCV et Intel Edison

Comme les robots commencent à peupler la planète dont ils auront besoin d'un moyen de « voir » le monde de la même façon à la façon dont nous les humains et être en mesure d'utiliser ces données de vision pour prendre des décisions. Un système de vis
Affronter la détection et la poursuite avec Arduino et OpenCV

Affronter la détection et la poursuite avec Arduino et OpenCV

mises à jour20 février 2013: En réponse à une question posée par étudiant Hala Abuhasna si vous souhaitez utiliser la classe série .NET, utilisez la convention d'affectation de noms "\\\.\\COMn" et remplacez n par le numéro 9 > pour définir v
LAPI projet à l’aide de l’Edison Intel

LAPI projet à l’aide de l’Edison Intel

Il s'agit d'un projet de reconnaissance plaque numéro automatique en utilisant openCV et le jury Intel Edison.Une vue d'ensemble :Capturer une Image, pré-process dans opencv il traversent ensuite tesseract OCR pour obtenir les caractères dans l'image
RasPi + OpenCV = suivi du visage

RasPi + OpenCV = suivi du visage

Cette instructable vous enseignera tout ce que vous devez savoir sur l'installation de votre nouvel appareil RasPi dans votre Pi framboise et implémenter des bibliothèques de suivi de visage de OpenCV. Le tutoriel n'assumera que vous savez comment pr
DÉTECTION d’objets et de suivi en utilisant OPENCV, C++ de VISUAL STUDIO 2010 et ARDUINO

DÉTECTION d’objets et de suivi en utilisant OPENCV, C++ de VISUAL STUDIO 2010 et ARDUINO

INTRODUCTIONDans ce projet la Webcam envoie des images vidéo à la Visual Studio C++ qui contient la bibliothèque de CV ouvert sur notre ordinateur.Si Visual Studio C++ programme détecte l'image de l'objet de la webcam, puis il calcule les coordonnées
Détection à l’aide de Python et la bibliothèque OpenCV de visage

Détection à l’aide de Python et la bibliothèque OpenCV de visage

Ce projet utilisera la bibliothèque OpenCV et python pour faciliter la détection des visagesÉtape 1: Ce que vous devez1. un Conseil de développement Intel Edison2. une webcam, nous allons utiliser la lumière vague LW-IC5003. Python et la bibliothèque
Face Tracking avec traitement et OpenCV

Face Tracking avec traitement et OpenCV

Computer vision est incroyable. Il permet aux processus informatiques la chance de voir le monde qui les entoure. Il est nécessaire pour beaucoup d'applications robotiques, apprentissage automatique ou projets interactifs. OpenCV est une bibliothèque
OpenCV DSP accélération

OpenCV DSP accélération

OpenCV DSP accélération - GSoC 2010Il vise à accélérer les algorithmes OpenCV dans OMAP3 plates-formes utilisant le sur puce C64x + DSP. Il utilise OpenCV 2.1 comme référence et repose sur les mêmes. La première version de ce projet montre l'accéléra
Comment suivre votre Robot avec OpenCV

Comment suivre votre Robot avec OpenCV

Mise à jour : Permet de faire des Robots, ma maison hackerspace numérique, a été achetée par RobotShop. Je ne veux pas revenir, mais les nouveaux propriétaires interdit moi-même et la plupart des membres du vétérans. Qui a dit, la plupart des liens i
Qui est à la machine à café ? Reconnaissance faciale à l’aide de Raspberry Pi, OpenCV et Sigfox

Qui est à la machine à café ? Reconnaissance faciale à l’aide de Raspberry Pi, OpenCV et Sigfox

IntroductionVous avez vous vous demandez comment faciale reconnaissance fonctionne ? Avez-vous entendu parler de Sigfox ? Vous aimez les framboises ?Dans ce tutoriel nous allons voir comment développer un prototype à l'aide d'un Pi de framboise à rec
Détection des cercles avec OpenCV et Python

Détection des cercles avec OpenCV et Python

Inspiration:-L'idée pour cela est venue lorsque j'ai été bricoler avec OpenCV et il est diverses fonctions. Puis un ami a demandé de l'aider à développer un algorithme qui permet de détecter qu'un cercle d'une caméra FPV monté sur un avion de RC et d
Comment faire votre premier Simple conduit Blink projet en framboise Pi2

Comment faire votre premier Simple conduit Blink projet en framboise Pi2

Félicitations à vous, pour vous obtenir une framboise pi2. Votre maintenant super excitée commencer et émouvant, mais vous ne sais pas quoi que ce soit où commencer sur.La raison pour laquelle que je partage ce projet est que, au début où vous n'êtes
Ajouter Bluetooth 4.0 à votre projet Arduino [IoT] - contrôlée par Smartphone

Ajouter Bluetooth 4.0 à votre projet Arduino [IoT] - contrôlée par Smartphone

Nous sommes le groupe d'internet de passionnés de choses qui aiment le piratage ensemble différents dispositifs. Découvrez notre projet en cours sur notre site Web et jetez un oeil à ce guide dans un format différent sur notre blog.Étape 1: Introduct
Veilleuse automatique Beacon - projet Geek #3

Veilleuse automatique Beacon - projet Geek #3

Vous êtes-vous déjà demandé comment cool il serait si les lumières obtenu en marche dès que vous pénétrez dans une salle ou quand vous vous réveillez au milieu de la nuit et les lumières se met automatiquement en service. Je vous présente le feu de b