Desenvolvimento de um Pacote de Processamento de Imagens para o Scilab Aluno: Ricardo Fabbri...

Post on 17-Apr-2015

110 views 0 download

Transcript of Desenvolvimento de um Pacote de Processamento de Imagens para o Scilab Aluno: Ricardo Fabbri...

Desenvolvimento de um Pacote de Processamento de Imagens para o

Scilab

Aluno: Ricardo FabbriOrientador: Luciano da Fontoura Costa e-mail: rfabbri@if.sc.usp.br URL: siptoolbox.sourceforge.net

Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo, Brasil. 06

/2003

Plano da Apresentação

● Introdução● Aspectos de Desenvolvimento● Funcionalidades Implementadas● Trabalho Futuro● O Grupo de Visão Cibernética● Conclusão● Referências

Introdução

SciLab

● Software livre ● Programação numérica● Prototipação● Rotinas prontas● Fácil para manipular matrizes:

– A * B * C + D

– Loop desnecessário

SciLab

● Ambiente open source ● Programacao numerica● Prototipacao● Rotinas prontas● Facil para manipular matrizes:

– A * B * C + D

– Loop desnecessario

Ideal para processamento de imagens

SIP toolbox

●E/S de imagens no SciLab●Processamento, análise e

reconhecimento de imagens●Software Livre●Multiplataforma

Objetivos:

SIP toolbox

● Início: efeito colateral das atividades de iniciação científica do autor

● Como Projeto de Graduação I

– Rotinas para E/S de imagens em qualquer formato

– Diversas outras rotinas● Angariou usuários em todo o mundo,

principalmente França (além do Brasil)

SIP toolbox

Como Projeto de Graduação II:● Autoconf, Automake e Libtool para

portabilidade● Esqueletização Multiescala

– 2 Algoritmos● Transformada de Hough● Detetor de bordas por Fourier● Outros operadores

Desenvolvimento

Projeto do Sistema

Auto-configuração

● Diferenças entre os ambientes de desenvolvimento e uso

● O UNIX possui diversas variantes e é altamente customizável

● Como detectar bibliotecas externas?● Como funcionar com diferentes versões

do Scilab?

Desafios

GNU Autotools

● Autoconf, Automake e Libtool● Típicos em softwares livres● Permitem instalar através da seqüência:

– configure # testa o sistema

– Make # compila

– Make install # instala

Autotoconf e Automake

Libtool

● Usado para gerar bibliotecas● Abstração do conceito de bibliotecas● Programador não precisa saber

detalhes de cada sistema● No SIP, é usado através do

Automake

Experiência com oDesenvolvimento Livre

● “Release early, Release Often”

– FEEDBACK● Linux/UNIX

● Sourceforge.net● Requisitos

– Forte participação do usuário

Desenvolvimento Livre

● Projeto Arquitetural (alto nível)

– SIP é simples (simplificado?)

– Uso conjunto de rotinas é ad-hoc● Projeto detalhado

– Interface ~ Matlab

– Boa organização do código fonte

● Teste

– Fruto do ciclo iterativo

– Versões alfa e beta

– Desenvolvedor principal realiza poucos testes

● Lançamento

– Freshmeat.net e Sourceforge.net

– Listas de email e news

Desenvolvimento Livre

Funcionalidades Implementadas

E/S de Imagens

● Leitura de aquivos de imagens

– imread● Escrita de arquivos de imagens

– imwrite● Quase 70 formatos: JPEG, TIFF, BMP,

PNG, GIF, FITS, XPM, Photo-CD, ...● ImageMagick

Filtro Gaussiano 1D

● Convolução por tr. Fourier

Filtro Gaussiano 1D

Esqueletos Multi-escala

Esqueletos Multi-escala

Esqueletos Multi-escala

● Estabilidade a rotação● Permite objetos com buracos● Algoritmo rápido baseado em grafos

Outras Funcionalidades

● Afinamento (thinning) por Lam-Suen● Transformada de Hough● Dimensão Fractal● Detector de Bordas por Fourier

Filtro Gaussiano 2D

Filtro Gaussiano 2D

Filtro da Mediana

● Troca valor de cada pixel pela mediana dos pixels vizinhos

● Filtro não-linear

Realce de Bordas

● Máscaras de convolução:

● Estimadores para derivada parcial

– Duas direções ortogonais

– Módulo do Gradiente:

Realce de Bordas

Sobel ImageMagick

Curvatura

● Medida bastante útil

Morfologia Matemática

● Dilatação● Erosão● Elementos

estruturantes arbitrários

Transformações Geométricas

● Implementadas com ImageMagick

– Mogrify

Seguidor de Bordas

● Extrai coordenadas paramétricas

– C(t) = (x(t), y(t))● Contornos e curvas fechadas

Equalização de Histograma

● Espalha a distribuição de intensidades

Contribuições

● Filtragem de Ruído por fluxo de curvatura min/máx (L. Estrozi)

● Rotinas para processamento de imagens de interferometria óptica (J. Druel)

● Limiarização adaptativa (ImageMagick)

Trabalho Futuro

● Tipos inteiros de dados● Terminar de portar a nova versão para

Windows● Suíte de Testes● Melhorar o display gráfico● Documentação externa para o Animal

● Biblioteca Externa● CVS● XML Help● Usabilidade● Novas rotinas

Trabalho Futuro

Conclusões

● Alta demanda pelo SIP

– Ainda é a única ferramenta livre para prototipação e experimentação de métodos de Análise de Imagens

● Baixo custo● Experiência com o modelo de

desenvolvimento livre

Conclusões

● Grupo de Visão Cibernética (CVRG)

– Bastante equipado

– Ambiente agradável● Realizo iniciação científica desde 2000● Conhecimentos adquiridos durante o

curso foram cruciais

– Matemática e Programação ● Pretendo fazer mestrado no ICMC

Referências