*   >> Lecture Éducation Articles >> science >> la programmation

Composants connectés à l'aide Opencv

Introduction

Dans la vision par ordinateur et traitement d'image, nous utilisons de nombreuses idées d'autres domaines de la science informatique pour résoudre nos défis. Le problème que je vais vous parler est la suivante: étant donné une image monochromatique je veux obtenir les groupes de pixels de premier plan qui sont isolés par une région blanc. Le nom donné à ces groupes est connecté composante

.


Dans un composant connecté, étant donné un point à l'intérieur, je peux marcher à tout autre point à l'intérieur à l'aide de seuls points qui sont à l'intérieur aussi. Cette image illustre ce que je veux dire. Chaque couleur est une composante connexe.

Utilisation

Le OpenCV de OpenCV est un célèbre bibliothèque de vision par ordinateur qui a des tonnes de fonctionnalités intéressantes et est largement utilisé.

Il gère l'ouverture de différents types de fichiers image et vidéo et a le code pour trouver les composantes connexes d'une image (y compris les trous dans les composants).

La première chose à savoir est comment ouvrir une image e comment pour compiler votre premier programme. Des instructions de compilation pour Windows et pour Linux. Ce programme ouvre une image et enregistre une copie que result.png. Nous allons étendre cet exemple de donner le résultat ci-dessus. Si vous voulez un plus en profondeur explication vous pouvez regarder ce tutoriel.


Trouver les composants connectés

Pour trouver les composants connectés, nous allons utiliser la fonction cvFindContours de OpenCV. Avec les bons paramètres de cette fonction retourne une liste avec les contours de chacun des composants connectés et pour chaque composante du contour des trous à l'intérieur.

CvMemStorage e CvContour Dans OpenCV, chaque fois que nous utilisons tout type de structure dynamique dont nous avons besoin d'utiliser un CvMemStorage de tenir la mémoire pour cela.

Depuis cvFindContours retourne une liste, nous devons créer un CvMemStorage et passer à cette fonction. Le code qui devrait être ajouté suit (une version complète du programme sera disponible, à la fin de l'article

déclarer les variables:. CvMemStorage * mem; CvSeq * contours, * ptr;
Et ajouter ce code sur le code /* Téléchargez ici * /ligne:

cvThreshold (img, img, 150, 255, CV_THRESH_BINARY); mem = cvCreateMemStorage

(0); cvFindContours (img, mem , et contours, sizeof (CvContour), CV_RETR_CCOMP, CV_CHAIN_APPRO

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.