410 likes | 534 Views
Desenvolvimento de um Pacote de Processamento de Imagens para o Scilab. Aluno: Ricardo Fabbri Orientador: 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.
E N D
Desenvolvimento de um Pacote de Processamento de Imagens para o Scilab Aluno: Ricardo Fabbri Orientador: 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
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 Objetivos: • E/S de imagens no SciLab • Processamento, análise e reconhecimento de imagens • Software Livre • Multiplataforma
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
Auto-configuração Desafios • 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?
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
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
Desenvolvimento Livre • 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
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
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 da Mediana • Troca valor de cada pixel pela mediana dos pixels vizinhos • Filtro não-linear
Realce de Bordas • Estimadores para derivada parcial • Duas direções ortogonais • Módulo do Gradiente: • Máscaras de convolução:
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
Trabalho Futuro • Biblioteca Externa • CVS • XML Help • Usabilidade • Novas rotinas
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