Disciplina: Paradigmas e Ferramentas de Desenvolvimento de Software

Slides:



Advertisements
Apresentações semelhantes
TADs Vector, Lista e Sequência
Advertisements

Melhoramento de Imagens
Shop Notas de implementação (continuação). 1 Em Resumo 1. Criar o componente ShopClassLibrary com os diversos serviços de Acesso a Dados (implememtar.
Projeto de Sistemas de Software Luana Lachtermacher
1 Java: Tratamento de Exceções Alcides Calsavara.
VHDL Very High Speed Integrated Circuit Hardware Description Language Prof. Eduardo Todt 2008.
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
Prof. José Fernando Rodrigues Júnior Pacotes Material original: Profa. Elaine Parros Machado de Sousa SCC Bancos de Dados e Suas Aplicações.
Ronaldo Celso Messias Correia
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
FORTRAN 90 Denise Yumi Takamura.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
SQL Procedural Junho/2006.
XP - Continuous Integration Leonardo Pereira Demilis.
Críticas sobre Extreme Programming Francisco Hillesheim.
Concepção de Circuitos e Sistemas Integrados João Paulo Cunha Bolsa Voluntária/PIBIC Prof. André Augusto Mariano, Ph.D. / Bernardo R. B. A. Leite, Ph.D.
ESTUDOS PARA SISTEMAS CADnD EM PROJETOS INTEGRADOS DE EDIFICAÇÕES - ANÁLISE DE DESEMPENHO DE SISTEMAS CONSTRUTIVOS Mariana Cassilha Stival PIBITI/CNPq.
Container Managed Persistent Bean Kellyton Brito Projeto Compose
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 1 Uma Ferramenta Orientada a Modelos para Geração de Aplicações.
Prof. Dr. Helder Anibal Hermini
Prof. Dr. Helder Anibal Hermini
Compressão de Voz Francisco Socal Tiago Peres Leonardo Silveira.
Gustavo Vieira Pereira
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço ContextManager Treinamento no GRADEp Framework Master-Worker.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço Collector Treinamento no GRADEp Serviço Collector CollectorDemo e.
Servidores e Programação Web Redes de Computadores.
Processamento de Imagens
Geração de Código Cap. 8. Introdução Fase final para um compilador Entrada é uma representação intermediária do código fonte e a saída é um programa para.
O Fluxo de Testes © Alexandre Vasconcelos
Serviços Integrados na Arquitetura da Internet Apresentação: Fernando Nadal.
Divisão de Processamento de Imagens Pesquisa e Desenvolvimento Tecnológico 2008 DPI/OBT – 2007.
Workshop da DPI 2 a 4 de Setembro de 2009 Processamento Digital de Imagens Óticas.
TerraRadar Aplicativo para tratamento de imagem de Radar Utilizado através de dois tipos de interface : TerraView - (QT) Browser - (PHP)
Design Patterns – Composite e Visitor
Implementação do algoritmo da Máquina de Análise Geográfica (GAM) Equipe:Karla Donato Fook Evaldinolia G. Moreira Pinto Paradigmas e Ferramentas de Desenvolvimento.
Templates e Questões de Design Programas são geralmente construídos segundo um design que é relativamente bem mapeado nos mecanismos oferecidos pela linguagem.
Página de entrada A página de entrada, ou a index, representa um convite para o seu site.
Técnicas de Processamento de Imagens Digitais
Processamento Digital de Imagens
"Tudo o que acontece, acontece em algum lugar." Gilberto Câmara - INPE Gilberto Câmara - INPE.
"Tudo o que acontece, acontece em algum lugar."
SENSORIAMENTO REMOTO  O QUE É?
Controle Digital Prof. Cesar da Costa 6.a Aula – Equações às diferenças.
Modulo Especialista.
Uma Arquitetura de Referência para Modelagem e Simulação de Fenômenos em Clima Espacial Orientador: Prof. Dr. Luiz Alberto Vieira Dias Mestrando: Francisco.
Copyright, 1999 © Marcelo Knörich Zuffo PEE-EPUSP Visualização Científica PSI a Aula – Conceitos Básicos de Iluminação.
Projeto Mapeando a Saúde Secretaria Municipal de Saúde de Montes Claros - MG Dr. João Felício Rodrigues Neto Brasília - Fevereiro 2002.
MAC499 - Trabalho de Formatura Supervisionado Sistema de Reconhecimento de Escrita On-Line.
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
A Importância da Computação Científica Profa. Dra. Marli de Freitas Gomes Hernandez UNIVERSIDADE ESTADUAL DE CAMPINAS CENTRO.
Administração de Sistemas de Informação
Introdução à Codificação de Canal Evelio M. G. Fernández
M e d A d m i n. Quem é o público alvo da ideia? Profissionais vinculados à área da saúde, em particular, àqueles responsáveis pela administração de medicamentos,
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Listas Encadeadas.
Entendendo as definições de classe
04:27 Introdução Tipos de Fluxo de Dados e de Arquivos Manipulação de Arquivos em Java Classes FileReader e FileWriter Classes FileInputStream e FileOutputStream.
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes.
Programação Concorrente com Thread Java
Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves.
Processamento de Pixel
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
MPEG-4 x MPEG-2 na Implantação do Sistema Brasileiro de TV Digital
Renderização de cenas por traçado de raios na Placa Gráfica Fabiano Segadaes Romeiro Sistemas Gráficos 3D IMPA.
Melhorias e Mensagens Amigáveis ao Usuário Centro de Informática Universidade Federal de Pernambuco Bruno Felipe Marco André Paulo Fernando Rodolfo Santos.
ArrayList e Genéricos Profs. PROG2 - UNISINOS.
Alisson Rafael Appio SOP aplicado em um jogo tipo de corrida usando a arquitetura cliente e servidor Alisson Rafael Appio
Aula Prática 5 05/05/2010. //Estrutura do método public int subtrair (int a, int b){ //Calcule a operação desejada. int resultado = a – b; //Retorne o.
3.1.7 Variáveis de Classe e Instância
Transcrição da apresentação:

Fusão de imagens utilizando transformada Wavelet e IHS no ambiente TerraLib Disciplina: Paradigmas e Ferramentas de Desenvolvimento de Software Docentes: Dr. Gilberto Câmara Lúbia Vinhas Discentes: Paulo Honda Ota Vantier Veronezi Bagli

Estrutura Introdução - Motivação Objetivo Transformação IHS Fusão por Transformada Wavelets Padrão Adotado Resultados Conclusão

dos algoritmos portados Introdução Motivação Realizar fusão de imagens CBERS através de Transformação Wavelet e IHS no ambiente TerraLib utilizando padrões de projeto para manipulação dos algoritmos portados

Introdução Objetivos Portar algoritmo de transformação RGB IHS do aplicativo SPRING para o ambiente TerraLib Implementar algoritmos de fusão por Transformadas Wavelets no ambiente TerraLib Adotar padrões de projeto para manipulação desses algoritmos

Transformação RGB IHS Para descrever as propriedades de cor de um objeto em uma imagem, normalmente o olho humano não distingue a proporção de azul, verde e vermelho presentes, e sim, avalia a intensidade (I), a cor ou matiz (H) e a saturação (S).

Transformação RGB IHS Fusão

Fusão por Transformada Wavelet A fusão de imagens através da transformada wavelet, em geral, é realizada pela troca da sub-banda de baixa resolução em um determinado nível j, que é resultado da decomposição de uma imagem pancromática de alta resolução espacial, por uma imagem de baixa resolução que contém a informação espectral.

Fusão por Wavelet (método Ventura)

Padrão Adotado Strategy Criar uma camada que encapsule os diversos algoritmos de fusão de forma que possam ser alterados, inseridos ou removidos independentemente dos clientes que os utilizam.

Padrão Adotado Problema: Os métodos de fusão por wavelet e transformação IHS possuem comportamentos diferentes. Fusão por wavelets: entrada: Banda PAN + Banda Multiespectral + Filtro + Nível de decomposição + nome de saída saída: 1 Banda da Imagem Fundida Fusão por Transformação IHS: entrada: Banda PAN + 3 Bandas Multiespectrais + flag + nome de saída saída: 3 Bandas da Imagem Fundida Transformação de cores: entrada: 3 Bandas Multiespectrais + flag + nome de saída saída: 3 Bandas da Imagem Transformada (RGB/IHS)

Padrão Adotado Solução: Criar classe Imagem Multiespectral (TeImaMult), para uniformizar os parâmetros de entrada das imagens multiespectrais nos algoritmos de fusão por Wavelet e transformação de cores. Uniformizar os outros parâmetros de entrada (flag, nível de decomposição, nome da imagem de saída e filtro) Delegar a instanciação da estratégia escolhida por FACTORY.

Estratégia para fusão / transformação de cor _estrategiaFusao/Trans Fusao Estrategia AppFusao() MetodoFusao() _estrategiaFusao/Trans->MetodoFusao() Wavelet Transformação MetodoFusao() MetodoFusao() Ventura Garguet Método n RGB2IHS IHS2RGB Método n MetodoFusao() MetodoFusao() MetodoFusao() MetodoFusao() MetodoFusao() MetodoFusao()

// Estratégia de Wavelet class Strat_Fusao_Wave: public Strat_Fusao { public: Strat_Fusao_Wave(int l,char* f):filtro(f),level(l){}; virtual void MetodoFusao(TeImaMult& ImageMult, char* name_exit, TeRaster& ImagePan ) = 0; char *filtro, *name_out; int level; string name, type; }; class Ventura: public Strat_Fusao_Wave { Ventura(int l,char* f):Strat_Fusao_Wave(l,f){} void MetodoFusao( TeImaMult& ImageMult, char* name_exit, TeRaster& ImagePan ){ for (int i = 0 ; i < ImageMult.getsize() ; i++){ name = TeGetName ( name_exit); type = TeGetExtension (name_exit); string temp = name+"_"+Te2String(i)+"."+type; name_out = (char*)temp.c_str(); fusionVentura(ImagePan, ImageMult.getband(i), filtro, level, name_out); } class Garguet: public Strat_Fusao_Wave{ Garguet(int l,char* f):Strat_Fusao_Wave(l,f){}; void MetodoFusao( TeImaMult& ImageMult, char* name_exit, TeRaster& ImagePan ) { fusionGarguet(ImagePan, ImageMult.getband(i), filtro, level, name_out);

// Estratégia de Transformação class Strat_Fusao_Transf: public Strat_Fusao { public: Strat_Fusao_Transf(int f):flag(f){} virtual void MetodoFusao( TeImaMult& ImageMult, char* name_exit, TeRaster& ImagePan ) = 0; int flag; }; class RGB2IHS: public Strat_Fusao_Transf RGB2IHS(int f):Strat_Fusao_Transf(f){}; void MetodoFusao( TeImaMult& ImageMult, char* name_exit, TeRaster& ImagePan ) ihs_RGB2IHS(ImageMult.getband(0), ImageMult.getband(1) , ImageMult.getband(2), flag, name_exit, ImagePan); } class IHS2RGB: public Strat_Fusao_Transf IHS2RGB(int f):Strat_Fusao_Transf(f){}; ihs_IHS2RGB(ImageMult.getband(0), ImageMult.getband(1) , ImageMult.getband(2), flag, name_exit, ImagePan);

// Factory da estratégia de processamento class Strat_Factory { public: static Strat_Fusao* make(const string &method,int n = 0, char* f = 0) if ( method == "Ventura" ) return ( new Ventura(n,f) ); else if ( method == "Garguet" ) return ( new Garguet(n,f) ); else if ( method == "RGB2IHS" || method == "FusionTrans" ) return ( new RGB2IHS(n) ); else if ( method == "IHS2RGB" ) return ( new IHS2RGB(n) ); } }; class Fusao Strat_Fusao* proc; Fusao(Strat_Fusao* st):proc(st){} void AppFusao( TeImaMult& ImageMult, char* name_exit, TeRaster& ImagePan = TeRaster() ) proc->MetodoFusao (ImageMult, name_exit, ImagePan);

Exemplo de aplicação CBERS_B2 CBERS_B3 CBERS_B4

spot5_pan

Composição CBERS RGB(342)

Resultado Wavelet (Ventura) 4 níveis de decomposição TeImaMult ima3( imab3, imab4 , imab2 ); // classe que suporta n bandas Strat_Fusao* strat = Strat_Factory::make("Ventura", level, filtro); Fusao fusao( strat ); fusao.AppFusao(ima3, nomesaida, imapan);

Resultado (Garguet - Duport) 4 níveis de decomposição TeImaMult ima3( imab3, imab4 , imab2 ); // classe que suporta n bandas Strat_Fusao* strat = Strat_Factory::make(“Garguet", level, filtro); Fusao fusao( strat ); fusao.AppFusao(ima3, nomesaida, imapan);

Resultado Fusão por Transformação IHS TeImaMult ima3( imab3, imab4 , imab2 ); // classe que suporta n bandas Strat_Fusao* strat = Strat_Factory::make(“FusionTrans"); Fusao fusao( strat ); fusao.AppFusao(ima3, nomesaida, imapan);

Transformação RGB  IHS TeImaMult ima3( imab3, imab4 , imab2 ); // classe que suporta n bandas Strat_Fusao* strat = Strat_Factory::make(“RGB2IHS", flag); Fusao fusao( strat ); fusao.AppFusao(ima3, nomesaida); IHS2RGB

Conclusões A utilização de padrões de projeto se mostrou muito eficiente, pois pode-se tratar diferentes algoritmos de mesma forma A implementação da abstração de imagem multiespectral (classe TeImaMult) se mostrou necessária e eficiente para a uniformização dos métodos utilizados

Agradecimentos Lúbia Vinhas Ricardo Cartaxo M. Souza (DPI - equipe TerraLib) Ricardo Cartaxo M. Souza (DPI) Leonardo Santanna Bins