Introdução
Na visão computacional e processamento de imagem que usamos muitas idéias de outras áreas da ciência da computação para resolver nossos desafios. O problema que eu vou falar é o seguinte: dada uma imagem monocromática Quero obter os grupos de pixels de primeiro plano que são isoladas por uma região branco. O nome dado a esses grupos é componente conectado . Em um componente ligado, dado um ponto dentro dele, eu posso andar a qualquer outro ponto dentro dele usando apenas pontos que estão dentro também. Esta imagem ilustra o que quero dizer. Cada cor é um componente conectado. Usando OpenCV OpenCV é uma biblioteca de visão computacional famoso que tem toneladas de recursos interessantes e é amplamente utilizada. Ele lida com a abertura de vários tipos de arquivos de imagem e vídeo e tem o código para encontrar os componentes conectados de uma imagem (incluindo os furos nos componentes). A primeira coisa a saber é como abrir uma imagem e como para compilar seu primeiro programa. Instruções de compilação para Windows e para Linux. Este programa abre uma imagem e salva uma cópia como result.png. Vamos expandir esse exemplo para dar o resultado acima. Se você quer uma explicação mais em profundidade que você pode olhar para este tutorial. Encontrar os componentes conectados Para encontrar os componentes conectados, vamos utilizar a função cvFindContours do OpenCV. Com os parâmetros corretos esta função retorna uma lista com os contornos de cada componentes ligados e para cada componente do contorno dos buracos dentro dela. CvMemStorage e CvContour Em OpenCV, sempre que usar qualquer tipo de estrutura dinâmica que precisamos a utilização de um CvMemStorage para manter a memória para ele. Desde cvFindContours retorna uma lista, temos de criar um CvMemStorage e passar para esta função. O código que deve ser adicionado a seguir (uma versão completa do programa será disponíveis no final do artigo Declare as variáveis:. CvMemStorage * mem; CvSeq * contornos, * ptr; cvThreshold (img, img, 150, 255, CV_THRESH_BINARY); mem = cvCreateMemStorage (0); cvFindContours (img, mem , e contornos, sizeof (CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint (0,0));. O parâmetro CV_RETR_CCOMP conta a função que os contornos dos componentes ligados devem ser extraídos CV_CHAIN_
E adicionar este código no CODE /* ADICIONAR AQUI * /linha: Programa em várias aplicações com Titanium