*   >> Lectura Educación Artículos >> science >> programación

Los componentes conectados mediante Opencv

Introducción

En la visión por computador y procesamiento de imágenes que utilizan muchas ideas de otras áreas de ciencias de la computación para resolver nuestros retos. El problema voy a hablar es el siguiente: dada una imagen monocromática quiero obtener los grupos de píxeles de primer plano que están aislados por una región blanca. El nombre dado a estos grupos es conectada componente

.


En un componente conectado, dado un punto en su interior, que puede caminar a cualquier otro punto dentro de ella utilizando sólo los puntos que están en el interior también. Esta imagen ilustra lo que quiero decir. Cada color es un componente conectado.

El uso de OpenCV

OpenCV es una famosa biblioteca de la visión por ordenador que tiene un montón de características interesantes y es ampliamente utilizado.

Se encarga de la apertura de varios tipos de archivos de imagen y vídeo y tiene el código para encontrar los componentes conectados de una imagen (incluyendo los agujeros de los componentes).

Lo primero que debe saber es cómo abrir un e imaginar cómo compilar su primer programa. Instrucciones de compilación para Windows y para Linux. Este programa abre una imagen y guarda una copia como result.png. Vamos a ampliar este ejemplo para dar el resultado anterior. Si desea una explicación más en profundidad se puede ver en este tutorial.


Búsqueda de los componentes conectados

Para saber los componentes conectados que utilizaremos la función cvFindContours de OpenCV. Con los parámetros correctos esta función devuelve una lista con los contornos de cada componentes conectados y para cada componente del contorno de los agujeros en su interior.

CvMemStorage e CvContour En OpenCV, cada vez que utilizamos cualquier tipo de estructura dinámica que necesitamos utilizar un CvMemStorage para mantener la memoria para él.

Desde cvFindContours devuelve una lista, debemos crear un CvMemStorage y pasar a esta función. El código que hay que añadir el siguiente (una versión completa del programa esté disponible en el final del artículo

Declarar las variables:. CvMemStorage * mem; CvSeq * contornos, * ptr;
Y añadir este código en el CODE /* AÑADIR AQUÍ * /línea:

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

(0); cvFindContours (img, mem , y contornos, sizeof (CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint (0,0));.


El CV_

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.