PROF. DR. JACQUES FACON MORFOLOGIA MATEMÁTICA FUZZY : ESTUDO COMPARATIVO
|
|
- Laís Taveira Affonso
- 7 Há anos
- Visualizações:
Transcrição
1 PUCPR- Pontifícia Universidade Católica Do Paraná PPGIa- Programa de Pós-Graduação Em Informática aplicada PROF. DR. JACQUES FACON MORFOLOGIA MATEMÁTICA FUZZY : ESTUDO COMPARATIVO Resumo: A teoria dos conjuntos Fuzzy tem uma promissora aplicação no processamento de imagens. A tecnologia na área de imagens está sempre em crescimento e possui infinitas aplicações. Este trabalho mostra um estudo feito sobre a Morfologia Fuzzy, algumas abordagens Fuzzy e como estas abordagens foram implementadas e aplicadas no processamento de imagens. As definições Fuzzy utilizadas estão descritas assim como também é tratado sobre o Elemento Estruturante e apresentado os tipos utilizados. Palavras-chave: Morfologia Matemática, Morfologia Fuzzy, Elemento Estruturante, níveis de cinza, Erosão, Dilatação. Abstract: Fuzzy set theory has a promising application in the image processing. The technology in this area of images is always in increase and this area has infinite applications. This paper shows a study about Fuzzy Morphology, some Fuzzy definitions and how them were implemented and applyed in the image processing. The fuzzy definitions and the Structuring Element used are described. Key-words: Mathematical Morphology, Fuzzy Morphology, Structuring Element, greyvalues, Erosion, Dilation. 1. Introdução O objetivo deste trabalho é estudar a Morfologia Fuzzy e implementar algumas abordagens fuzzy e aplicar no processamento de imagens. Atualmente cada vez mais manipulação, tratamento e armazenamento de informações diversas e complexas são necessárias. Um tipo de informação muito usado e muito significante é a imagem, basta lembrar que uma imagem traz uma quantidade enorme de informações, podemos citar como exemplo um gráfico de custos, uma imagem médica sobre uma área doente de algum órgão e outras. Esta área de processamento de imagens está em constante evolução tecnologia e possui inúmeras aplicações.
2 Na seção 2 teremos uma visão geral do sistema falando sobre a teoria fuzzy e a descrição funcional do sistema, na 3 serão discutidos alguns tópicos da implementação, e na seção 4 temos as conclusões. 2. Visão Geral do Sistema Conceitos da Teoria Fuzzy Na teoria dos conjuntos fuzzy a intersecção e a união são definidos por uma família de operadores chamados de t-normas e t-conormas respectivamente. As definições de erosão e dilatação usam a intersecção e a união para definir erosão e dilatação fuzzy, e se encontram definidas na literatura várias definições para esses conceitos, as t- normas e as t-conormas. A seguir serão apresentadas algumas definições encontradas na literatura para dilatação e erosão fuzzy e nas quais foram baseados os algoritmos desenvolvidos neste projeto. Definição 1: D1 v (µ)(x) = sup min[µ(y), v(y x)], E1 v (µ)(x) = inf max[µ(y), 1 - v(y x)]. Definição 2: D2 v (µ)(x) = sup [µ(y)*v(y x)], E2 v (µ)(x) = inf[µ(y)*v(y x) v(y x)]. Definição 3: D3 v (µ)(x) = sup max[0, µ(y) + v(y x) - 1], E3 v (µ)(x) = inf min [1, 1 + µ(y) - v(y x)]. Definição 4: D4 v (µ)(x) = sup max[0, 1 - λ(µ(y)) - λ(v(y x))], E4 v (µ)(x) = inf min[1, λ(1 - µ(y)) + λ(v(y x))], sendo que λ é uma função definida de [0,1] 3 [0,1] e que obedece a algumas propriedades. E o valor de λ é calculado por: λ = 1 x. Descrição geral do Sistema
3 O usuário escolhe uma das imagens disponíveis no banco de imagens e entra com as informações necessárias para a execução do algoritmo. As informações necessárias são escolhidas pelo usuário, e são elas: se será uma operação de erosão ou dilatação, a definição que será utilizada, o elemento estruturante, o tamanho do elemento estruturante e o valor do corte alfa. O sistema verifica a imagem e as informações escolhidas. Caso ocorra algum problema uma mensagem é emitida e se estiver tudo correto os dados são passados para a execução do algoritmo. A nova imagem produzida é exibida na tela para o usuário e caso ocorra algum erro uma mensagem é emitida. Software utilizado Este projeto foi desenvolvido no compilador Visual C da Microsoft utilizando a linguagem de programação C++. Utilizando no desenvolvimento o ambiente Windows 98 que é o mesmo ambiente de utilização da ferramenta a ser desenvolvida. 3. Pontos Importantes da Implementação Cada definição possui uma regra para a erosão e uma para a dilatação, estas regras são denominadas T-conorma no caso da erosão e T-norma no caso da dilatação. Antes da execução do algoritmo fuzzy o Elemento Estruturante é calculado. O cálculo do Elemento Estruturante é feito em função do seu tipo, tamanho e valor do corte alfa. O corte alfa é um valor de nível de cinza que varia de 0 a 255, sendo que o 0 corresponde a cor preta e o 255 corresponde a cor branca. Quando o usuário define o valor do corte alfa ele limita qual será o maior valor de nível de cinza utilizado no Elemento Estruturante. O Elemento Estruturante é representado em uma matriz. Os Elementos Estruturantes disponíveis no sistema são: Gaussiano, é calculado sobre a equação de Gauss. Os maiores níveis de cinza ficam na borda e vão diminuindo em direção do centro, o menor nível de cinza fica o centro da matriz. Parabólico, é calculado sobre a equação da parábola. O maior nível de cinza fica no centro e os valores vão diminuindo em direção à borda. Trapezoidal tem o formato de um trapézio. Retangular é como se fosse um plano e todas as posições da matriz possuem o mesmo nível de cinza. Depois que o Elemento Estruturante é calculado a imagem é varrida e um novo valor de nível de cinza é calculado para cada posição de pixel da imagem. O cálculo é feito utilizando os valores da matriz do Elemento Estruturante, o nível de cinza do pixels da imagem original e uma t-norma ou t-conorma (figura 1).
4 figura 1: Janela de escolha do do Elemento Estruturante 4. Conclusão Quanto ao desempenho do sistema obteve-se um bom resultado na utilização da Morfologia Fuzzy no tratamento de imagens. 5. Referências Bibliográficas [FACO-96] Facon J., "A Morfologia Matemática: Teoria e Exemplos", outubro [BLOC-95] Bloch I. and Maître H., "Fuzzy Mathematical Morphologies: A Comparative Study", Pattern Recognition vol 28, No 9, pp , [GROS-96] Grossert S. and Köppen M. and Nickolay B.,"A new Approach to Fuzzy Mathematical Morphology based on Fuzzy Integral and Its Application in Image Processing", Proceedings of ICPR 96, pp , [POPO-96] Popov A. T., "Fuzzy Morphology and Fuzzy Conexity Measures", Proceedings of ICPR 96, pp , 1996.
5 ////////////////////////////////////////////////////////////////////////////// /// ////////////////////////////////////////////////////////////////////////////// /// //FUNÇÕES PARA MORFOLOGIA FUZZY ////////////////////////////////////////////////////////////////////////////// /// ////////////////////////////////////////////////////////////////////////////// /// CPdimagemDoc* CPdiBase::ErosaoFuzzy(CPdimagemDoc* m_pdo_aux, CPdimagemDoc* m_pdo,int tamanhoee, BYTE cortealfa, WORD tipo_t_conorm, WORD tipo_elemento_estruturante) SetMatrizEE(tamanhoEE,tipo_elemento_estruturante, cortealfa); BYTE n_cinzateste = 0; BYTE n_cinzaee = 0; BYTE n_cinzaimg = 0; int xx, yy,k; COLORREF p1, p2; BYTE valor_pixel, valor; COLORREF val_pixel; DWORD lin, col; int s = NULL; if(tamanhoee == 9) s = 1; else if(tamanhoee == 25) s = 2; else if(tamanhoee = 49) s = 3; else if(tamanhoee = 81) s = 4; int linhas = (int) GetHeight(); int colunas = (int) GetWidth(); for(lin = s; lin < linhas-1-s; lin ++)//pega o comprimento da imagem retirando as bordas for(col = s; col < colunas-1-s; col ++)//pega a largura da imagem retirando as bordas valor_pixel = 255;
6 for(k = 0; k < tamanhoee ; k++) xx = suporte_x[k]; yy = suporte_y[k]; GetBValue(p1)) / 3; p1 = m_pdo_aux->imagem.getpixel(col+xx,lin+yy); n_cinzaimg = (GetRValue(p1) + GetGValue(p1) + n_cinzaee = m_arrayee[xx+s][yy+s]; n_cinzaee = n_cinzaee; tipo_t_conorm); valor = T_Conorma(n_cinzaImg, n_cinzaee, valor_pixel = minimo(valor_pixel, valor); val_pixel = RGB(valor_pixel,valor_pixel,valor_pixel); m_pdo->imagem.setpixel(col, lin, val_pixel); m_pdo_aux->imagem.hdib = m_pdo->imagem.copyhandle(); return m_pdo; CPdimagemDoc* CPdiBase::DilatacaoFuzzy(CPdimagemDoc* m_pdo_aux, CPdimagemDoc* m_pdo, int tamanhoee, BYTE cortealfa, WORD tipo_t_norm, WORD tipo_elemento_estruturante) SetMatrizEE(tamanhoEE,tipo_elemento_estruturante, cortealfa); BYTE n_cinzaee = 0; BYTE n_cinzaimg = 0; int xx, yy, k; COLORREF p1; BYTE valor_pixel, valor; COLORREF val_pixel; DWORD lin, col; int s = NULL; if(tamanhoee == 9) s = 1; else if(tamanhoee == 25) s = 2; else if(tamanhoee = 49) s = 3; else if(tamanhoee = 81)
7 s = 4; int linhas = (int) GetHeight(); int colunas = (int) GetWidth(); for(lin = s; lin < linhas-1-s; lin ++)//pega o comprimento da imagem retirando as bordas for(col = s; col < colunas-1-s; col ++)//pega a largura da imagem retirando as bordas valor_pixel = 0; for(k=0; k<tamanhoee; k++) xx = suporte_x[k]; yy = suporte_y[k]; GetBValue(p1)) / 3; p1 = m_pdo_aux->imagem.getpixel(col+xx,lin+yy); n_cinzaimg = (GetRValue(p1) + GetGValue(p1) + n_cinzaee = m_arrayee[xx+s][yy+s]; valor = T_Norma(n_cinzaImg, n_cinzaee, tipo_t_norm); valor_pixel = maximo(valor_pixel, valor); val_pixel = RGB(valor_pixel,valor_pixel,valor_pixel); m_pdo->imagem.setpixel(col, lin, val_pixel); m_pdo_aux->imagem.hdib = m_pdo->imagem.copyhandle(); return m_pdo; void CPdiBase::SetMatrizEE(int& tamanhoee, WORD& tipo_elemento_estruturante, BYTE& cortealfa) float div = NULL; float p1 = NULL; float tmp = NULL; int x = 0; int y = 0; int n = 0; int raiz = 0; if(tamanhoee == 9) p1 = 1; else if(tamanhoee == 25)
8 p1 = 2; else if(tamanhoee = 49) p1 = 3; else if(tamanhoee = 81) p1 = 4; for(x=0; x < 81; x++) suporte_x[x] = 0; suporte_y[x] = 0; for(x = 0; x < 9; x++) for(y = 0; y < 9; y++) m_arrayee[x][y] = 0; raiz = (int)(sqrt((double)(tamanhoee))); for(int i = 0; i < raiz; i++) for(int j = 0; j < raiz; j++) suporte_x[n] = (int)(j-p1); suporte_y[n] = (int)(i-p1); n++; if(tipo_elemento_estruturante == PARABOLOIDE) int aux = 0; for(y = 0; y < raiz; y++) for(x = 0; x < raiz; x++) tmp = (float)((suporte_x[aux]*suporte_x[aux]) + (suporte_y[aux]*suporte_y[aux])); div = (float)((tmp)/(p1*p1)); if(div <= 2.0) m_arrayee[x][y] = (BYTE)(cortealfa * div/2.0); aux++;
9 else if(tipo_elemento_estruturante == GAUSSIANO) int aux = 0; float n_cinza = NULL; float maior_geral = 0.0; float menor_geral = ; float sigma_x = p1; float sigma_y = p1; float sigma = NULL; float expoente = NULL; float X = NULL; float Y = NULL; for(y = 0; y < raiz; y++) for(x = 0; x < raiz; x++) X = (float)(abs(suporte_x[aux])); Y = (float)(abs(suporte_y[aux])); sigma = (float)(sqrt(pow(sigma_x,2) + pow(sigma_y,2))); expoente = ((-1.0/2.0) * (X/p1)) - ((1.0/2.0) * (Y/p1)); tmp = (float)(1.0/sigma*((float)(sqrt(2*pi)))) * (float)(pow(e,expoente)); maior_geral = maximo(maior_geral,tmp); menor_geral = minimo(menor_geral,tmp); aux++; //calcula maior valor entre os elementos do EE. aux = 0; for(y = 0; y < raiz; y++) for(x = 0; x < raiz; x++) X = (float)(abs(suporte_x[aux])); Y = (float)(abs(suporte_y[aux])); sigma = (float)(sqrt((float)(pow(sigma_x,2)) + (float)(pow(sigma_y,2)))); expoente = ((-1.0/2.0) * (X/p1)) - ((1.0/2.0) * (Y/p1)); tmp = (float)(1.0/sigma*((float)(sqrt(2*numpi)))) * (float)(pow(e,expoente)); n_cinza = (tmp-menor_geral)/(maior_geral-menor_geral); m_arrayee[x][y] = (BYTE)((cortealfa*n_cinza)); aux++; else if(tipo_elemento_estruturante == RETANGULAR)
10 int aux = 0; for(y = 0; y < raiz; y++) for(x = 0; x < raiz; x++) m_arrayee[x][y] = (BYTE)(cortealfa); else if(tipo_elemento_estruturante == TRAPEZOIDAL) int aux = 0; float p2 = p1; p1 = p1/2; for(y = 0; y < raiz; y++) for(x = 0; x < raiz; x++) tmp = (float)(abs(suporte_x[aux])); tmp = (float)((abs(suporte_y[aux]) > (tmp))? (abs(suporte_y[aux])) : (tmp)); if(tmp < p1) m_arrayee[x][y] = (BYTE)(cortealfa); else tmp = tmp - p2/p1; if(tmp < 1.0) tmp = cortealfa * tmp; m_arrayee[x][y] = (BYTE)((tmp > cortealfa? cortealfa : tmp)); aux++; BYTE CPdiBase::T_Conorma(BYTE x, BYTE y, WORD tipo) BYTE z; double zz, xx, yy; xx = (double)(x); yy = (double)(y); switch(tipo) case ZADEH: z = (BYTE)(maximo(xx, yy));
11 case PROBABILISTICA: z = (BYTE)((xx)+(yy)-(xx)*(yy)/255); case LUKASIEWICZ: zz = xx + yy; z = (BYTE)(minimo(zz, 255.0)); case DEFINICAO5: xx = xx/255.0; yy = yy/255.0; zz = (((3.0 * xx) - (3.0 * xx*xx) + (xx*xx*xx)) + ((3.0 * yy) - (3.0 * yy*yy) + (yy*yy*yy))) * 255.0; z = (BYTE)(minimo(zz, 255)); case BLOCHMAITRE: return z; BYTE CPdiBase::T_Norma(BYTE x, BYTE y, WORD tipo) BYTE z; double zz, xx, yy; xx = (double)(x); yy = (double)(y); switch(tipo) case ZADEH: z = (BYTE)(minimo(xx, yy)); case PROBABILISTICA: z = (BYTE)((xx)*(yy)/255.0); case LUKASIEWICZ: zz = xx + yy - 255; z = (BYTE)(maximo(zz, 0)); case DEFINICAO5: xx = xx/255.0; yy = yy/255.0; zz = (pow(xx,3) + pow(yy, 3) ) * 255.0; z = (BYTE)(maximo(zz, 0));
12 case BLOCHMAITRE: return(z);
Processo de Afinamento de Stentiford
PUCPR- Pontifícia Universidade Católica Do Paraná PPGIA- Programa de Pós-Graduação Em Informática Aplicada PROF. DR. JACQUES FACON Processo de Afinamento de Stentiford Resumo O algoritmo estudado para
Leia maisMorfologia Matemática? Mathematical morphology (MM) : what is it?
Morfologia Matemática? Mathematical morphology (MM) : what is it? Que qué isso? Combining methods from set theory, topology, and discrete mathematics, mathematical morphology provides a powerful approach
Leia maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Roberto de M. F. Filho (aluno PAE) - rmdff@icmc.usp.br>
Leia maisProcessamento de Imagens
Processamento de Imagens Introdução Prof. Dr. Márcio Sarroglia Pinho Histogramas Histogramas w Equalização alpha = 255 / numpixels for each pixel g(x,y) = cumulativefrequency[f(x,y)] * alpha end for http://www.generation5.org/content/24/histogramequalization.asp
Leia maisponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
Leia maisPROF. DR. JACQUES FACON
1 PUCPR- Pontiícia Universidade Católica Do Paraná PPGIA- Programa de Pós-Graduação Em Inormática Aplicada PROF. DR. JACQUES FACON LIMIARIZAÇÃO PELA DERIVADA 2ª DE PAVLIDIS Resumo: Este artigo descreve
Leia maisAplicação de técnicas de Morfologia Matemática e PDI na detecção semi-automática de feições cartográficas em imagens digitais
Aplicação de técnicas de Morfologia Matemática e PDI na detecção semi-automática de feições cartográficas em imagens digitais Prof. Dr. Erivaldo Antônio da Silva 1 Fernanda Puga Santos 2 Fernando Leonardi
Leia maisAula 4: Morfologia de Imagens
SEL 5886 - VISÃO COMPUTACIONAL Aula 4: Morfologia de Imagens Prof. Dr. Marcelo Andrade da Costa Vieira Colaboração: Dr. Bruno R. N. Matheus Morfologia Morfologia matemática: Ferramenta para extração de
Leia maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia maisMatrizes Esparsas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Luiz Henrique Kiehn (aluno PAE) - lhkiehn@icmc.usp.br
Leia maisUniversidade Federal de Pernambuco Graduação em Engenharia da Computação Centro de Informática
Universidade Federal de Pernambuco Graduação em Engenharia da Computação Centro de Informática DETECÇÃO DE BORDAS DE IMAGENS UTILIZANDO ELEMENTOS DE MORFOLOGIA MATEMÁTICA PROPOSTA DE TRABALHO DE GRADUAÇÃO
Leia maisFabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes
Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma
Leia maisCapítulo 4: Condicionais
Capítulo 4: Condicionais INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra.
Leia maisCarlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso da linguagem C Entendendo Estrutura de Dados Revisão da Linguagem C Tipos primitivos Vetores
Leia maisOperadores Morfológicos
Capítulo 2 Operadores Morfológicos Uma forma elegante de resolver problemas de processamento de imagens é através da utilização de uma base teórica consistente. Uma destas teorias é a morfologia matemática
Leia maisConstrução de uma ferramenta de localização da região da placa de veículos
Construção de uma ferramenta de localização da região da placa de veículos Jonathan Damásio Medeiros Acadêmico Dalton Solano dos Reis - Orientador Roteiro Introdução Objetivos do trabalho Fundamentação
Leia maisEntender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação
Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda
Leia maisAlgoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
Leia maisCONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.
CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA. Emerson Carlos Pedrino * e-mail: ecpedrin@sel.eesc.sc.usp.br Valentin Obac Roda ** e-mail: valentin@sel.eesc.sc.usp.br
Leia maisIntrodução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA
1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA 2 INDICE 1. COMENTÁRIOS... 4 1.1. Comentário de uma linha... 4 1.2. Comentário de múltiplas linhas... 4 2. IMPRESSÃO DE TEXTOS... 5 2.1. Imprimindo um texto
Leia maisSlide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.
Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.
Leia maisMemorias. La Geoinformación al Servicio de la Sociedad
La Geoinformación al Servicio de la Sociedad Memorias Sociedad Latinoamericana en Percepción Remota y Sistemas de Información Espacial Capítulo Colombia Medellín, Colombia 29 de Septiembre al 3 de Octubre
Leia maisCapítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática
Capítulo 2: Condicionais Pontifícia Universidade Católica Departamento de Informática Tomada de Decisão Até o momento, todas as instruções eram executadas, uma após a outra. No capítulo 3, vimos que a
Leia maisRevisão C++ - Parte 1
Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos
Leia maisIntrodução à Linguagem C Variáveis e Expressões
INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída
Leia maisGeração de um programa para processamento morfológico de imagens visando auxiliar o processo de extração de feições cartográficas de imagens orbitais.
Geração de um programa para processamento morfológico de imagens visando auxiliar o processo de extração de feições cartográficas de imagens orbitais. Giovana Araujo Alberti 1 Erivaldo Antonio da Silva
Leia maisAULA 14 ESTRUTURA DE DADOS
AULA 14 ESTRUTURA DE DADOS Matriz esparsa Norton T. Roman & Luciano A. Digiampietri Matriz Uma matriz bidimensional é um conjunto de elementos (ou tabela) composta por m linhas e n colunas. Matriz Uma
Leia mais7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7)
7 a Lista de Exercícios Assunto: Funções e passagem por referência com vetor e matriz (Tópico 7) Essa lista de exercícios tem como objetivo principal desenvolver algoritmos a partir dos conteúdos abordados
Leia maisTAD: Tipo Abstrato de Dados (parte 2)
TAD: Tipo Abstrato de Dados (parte 2) SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Modularização em C Programa em C pode ser dividido em vários arquivos Arquivos fonte com extensão.c
Leia maisEstudo sobre decodificação iterativa usando códigos de treliça
Revista de Engenharia e Pesquisa Aplicada, Volume 2, Número 1, 2016 Estudo sobre decodificação iterativa usando códigos de treliça Souza, I. M. M. Escola Politécnica de Pernambuco Universidade de Pernambuco
Leia maisPROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Leia maisCI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes
CI208 - Programação de Computadores Aula 24: Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática
Leia maisReconhecimento de texturas utilizando padrão binário local e classificador knn.
Reconhecimento de texturas utilizando padrão binário local e classificador knn. Vinicius Santos Andrade 1 Resumo. Através de uma imagem é possível obter inúmeras informações. Portanto, é cada vez mais
Leia maisTipos de Dados Simples (Continuação)
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Tipos de Dados Simples (Continuação) Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br Sumário
Leia maisTAD: Tipo Abstrato de Dados (parte 2)
TAD: Tipo Abstrato de Dados (parte 2) SCC0502 Algoritmos e Estruturas de Dados I Programa em C pode ser dividido em vários arquivos Arquivos fonte com extensão.c Denominados de módulos Cada módulo deve
Leia maisINF1005: Programação 1. Condicionais. 08/03/10 (c) Rogério Rodrigues 1
INF1005: Programação 1 Condicionais 08/03/10 (c) Rogério Rodrigues 1 Tópicos Principais Tomada de Decisão Expressões Booleanas Blocos de Comandos Exemplos 08/03/10 (c) Paula Rodrigues 2 Tomada de decisão
Leia maisFundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
Leia maisLaboratório de Introdução à Ciência da Computação I
Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professor: Jó Ueyama Estagiário PAE: Bruno S. Faiçal 1 Sumário Estrutura de programas (sequenciais) Tipos de dados simples
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA ECT1203 Linguagem de Programação Turma 03 2015.1 Prof. Einstein Santos Aula 07/08: Comandos de repetição Pontos da aula O laço
Leia maisDesenvolvendo aplicações Java
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA
Leia maisPROF. DR. JACQUES FACON
PUCPR - Pontifícia Universidade Católica Do Paraná PPGIA - Programa de Pós-Graduação Em Informática Aplicada PROF. DR. JACQUES FACON LIMIARIZAÇÃO PELO OPERADOR LAPLACIANO: MÉTODO DE CHEHIKIAN Resumo: Este
Leia maisLinguagem C ponteiros
Linguagem C ponteiros IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C... Vetores Matrizes Funções Recursão Registros Aula
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece
Leia maisOrientação de Bordas em Imagens Digitais: Abordagem por Análise de Vizinhança Local
Orientação de Bordas em Imagens Digitais: Abordagem por Análise de Vizinhança Local Inês Aparecida Gasparotto Boaventura DCCE-IBILCE-UNESP Rua Cristovão Colombo, 2265 15054-000, São José do Rio Preto,
Leia maisINTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO
INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM Autores: Giulia Denise Kujat VIEIRA; Milene Karine GUBETTI. Identificação autores: Estudantes do Curso Técnico em Informática
Leia maisMaterial III-Bimestre Introdução e conceitos fundamentais da Linguagem C#
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação
Leia maisAula 8 Comandos de Seleção
Aula 8 Comandos de Seleção Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Até agora não aprendemos a dizer
Leia maisLógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo
Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.
Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Renato Pimentel Prática 02 Java básico Atividade individual. Crie um novo projeto
Leia maisLINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha
LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks
Leia maisPROF. DR. JACQUES FACON
PUCPR- Pontiícia Universidade Católica Do Paraná PPGIA- Programa de Pós-Graduação Em Inormática Aplicada PROF. DR. JACQUES FACO LIMIARIZAÇÃO DE IMAGES POR ETROPIA BIDIMESIOAL Resumo: Ee artigo apresenta
Leia maisArrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação
Universidade Federal de Uberlândia Faculdade de Computação Arrays em Java Prof. Renato Pimentel GGI030 Programação Orientada a Objetos GGI030 Arrays em Java Prog. Orient. Objetos 1 / 20 Sumário 1 API GGI030
Leia maisLinguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Leia maisFunções em Linguagem C Parte II
Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o
Leia maisControle de Fluxo Utilizando C
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo III Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Controle
Leia mais1 Introdução. 2 Especificação
Bacharelado em Ciência da Computação DINF / UFPR CI067 - Oficina de Computação 2. semestre 2012 Prof. Luiz Eduardo S. de Oliveira Prof. Diego Roberto Antunes 29/11/2012 Releases - Histórico: r0 29/11/2012
Leia maisProgramação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
Leia maisIntrodução à Programação
Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de
Leia maisRastreamento de Objetos Baseado em Grafos. Casamento Inexato entre Grafos Relacionais com Atributos
Rastreamento de Objetos Baseado em Casamento Inexato entre Grafos Relacionais com Atributos Exame de Qualificação de Mestrado Ana Beatriz Vicentim Graciano Orientador: Roberto M. Cesar Jr. Colaboradora:
Leia maisProgramação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012
Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 1. Implemente os programas cujos fluxogramas foram definidos na aula de problemas da semana passada: Exercício 7- Calculo
Leia maisUNIVERSIDADE FEDERAL DE UBERLÂNDIA UFU
UNIVERSIDADE FEDERAL DE UBERLÂNDIA UFU PLANO DE TRABALHO EM INICIAÇÃO CIENTÍFICA Desenvolvimento e aplicação de um modelo gravitacional simplificado para análise de texturas coloridas. Uberlândia 30/04/2014
Leia maisMódulo 1 Conceitos Fundamentais
Estruturas de Dados Módulo 1 Conceitos Fundamentais 7/3/2007 (c) Marco A. Casanova - PUC-Rio 1 Preliminares Referência básica: Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas
Leia maisLinguagem C: Tipos básicos de dados escalares e cadeia de caracteres. Prof. Leonardo Barreto Campos 1
Linguagem C: Tipos básicos de dados escalares e cadeia de caracteres Prof. Leonardo Barreto Campos 1 Sumário Dados Escalares; Strings: Strings Constantes; Strings Variáveis; A função gets(); A função strcpy();
Leia maisINF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática
INF1005 Programação I Pontifícia Universidade Católica Departamento de Informática 1 INF1005 Exercício da Editora Pontifícia Universidade Católica Departamento de Informática 2 O Problema Uma editora fornece
Leia maisOlimpíadas de Informática Aulas preparatórias Introdução a Programação em C.
Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Prof. Gemilson George E-mail: gemilson@geo.com.br Skype: gemilson_geo MSN: gemilsongeorge@gmail.com Facebook: gemilson Fone:
Leia maisDisciplina de Algoritmos e Programação
Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo
Leia maisIntrodução à linguagem C++
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas
Leia maisINF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática
INF1005 Programação I Pontifícia Universidade Católica Departamento de Informática 1 INF1005 Função Pontifícia Universidade Católica Departamento de Informática 2 3 Exemplo 9 Determine e informe a raíz
Leia maisLinguagem de programação Java
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar
Leia maisAnhanguera Educacional S.A. Centro Universitário Ibero-Americano
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações
Leia maisMorfologia Matemática: algumas aplicações. Rosana Gomes Bernardo Universidade Federal Fluminense
Morfologia Matemática: algumas aplicações Rosana Gomes Bernardo Universidade Federal Fluminense Introdução Aplicações Motivadoras - Consumo de Gás Natural Roteiro - Placas de Veículos Referências - Cartografia
Leia mais(Conceito de Variável Indexada, Funções e Procedimentos)
Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Conceito de Variável Indexada, Funções e Procedimentos) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito de
Leia maisRESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:
RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisIntrodução a Programação na Linguagem C.
Introdução a Programação na Linguagem C. Prof. Gemilson George E-mail: gemilson@geo.com.br Skype: gemilson_geo MSN: gemilsongeorge@gmail.com Facebook: facebook.com/gemilson Fone: (83)8880-2046 Blog: informaticageo.wordpress.com
Leia maisAlunos: Caio Santos Renato Miceli
rangel@dscufcgedubr/ rangeldequeirop@yahoocombr Alunos: Caio Santos Renato Miceli UNIVERSIDADE FEDERAL DE CAMPINA GRANDE UFCG Av Aprígio Veloso, S/N Bodocongó CEP: 58109-190 Campina Grande PB www.ufcg.edu.br/
Leia maisTUTORIAL IMAGE J ANÁLISE AUTOMATIZADA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Instituto de Física Programa de Pós-Graduação em Ensino de Física Mestrado Profissional em Ensino de Física TUTORIAL IMAGE J ANÁLISE AUTOMATIZADA Fernanda Marques
Leia maisRecuperação P1 de Estrutura de Dados
Recuperação P1 de Estrutura de Dados Sigla _IED001_ TURMA: A PERÍODO: MAT ( ) NOT ( ) DISCIPLINA:_Estrutura de Dados DATA: / / Argumente com fundamentando as questões da avaliação indicando porque a questão
Leia maisINF1005: Programação 1. Vetores. 02/05/10 (c) Paula Rodrigues 1
INF1005: Programação 1 Vetores 02/05/10 (c) Paula Rodrigues 1 Tópicos Principais Declaração e inicialização de vetores Exemplos de manipulação de vetores Vetores passados para funções Exemplos de funções
Leia maisINF1005 Programação I. Pontifícia Universidade Católica Departamento de Informática
INF1005 Programação I Pontifícia Universidade Católica Departamento de Informática 1 INF1005 Exemplo 1 Pontifícia Universidade Católica Departamento de Informática 2 Computação Científica 3 Processador
Leia maisSistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro
Leia maisInteligência Artificial Escola de Verão Laboratório Associado de Computação e Matemática Aplicada LAC.
Inteligência Artificial Escola de Verão 28 Laboratório Associado de Computação e Matemática Aplicada LAC www.lac.inpe.br/~demisio/ia_lac.html Lógica Nebulosa A Lógica Nebulosa (ou Lógica Difusa Fuzzy Logic
Leia maisINF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 6 Ordenação de Vetores 01/10/2015 (c) Dept. Informática - PUC-Rio 1 Tópicos Introdução Ordenação bolha (bubble sort) Ordenação por seleção (selection sort) 01/10/2015 (c) Dept. Informática
Leia maisAvaliação de Nitidez em Imagens por Aprendizagem
Avaliação de Nitidez em Imagens por Aprendizagem Rafael Anaice CCET Pontifícia Universidade Católica do Paraná, PUCPR Curitiba, Brasil rafael.anaice@ppgia.pucpr.br Jacques Facon PPGIA Pontifícia Universidade
Leia maisPROGRAMAÇÃO em C. Vitor Valerio de Souza Campos
PROGRAMAÇÃO em C Vitor Valerio de Souza Campos Algoritmos x Programação Algoritmo é um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito (Orth, 2001). Programa
Leia maisUNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também
Leia maisEstrutura do programa
Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }
Leia maisDeclarações. Identificadores e Tipos de Dados Básicos
Declarações Identificadores e Tipos de Dados Básicos Introdução Um programa em C pode ser visto como uma seqüência de DECLARAÇÕES. De maneira geral, uma DECLARAÇÃO introduz um novo nome - um IDENTIFICADOR
Leia maisProcessing Aula 2. Prof. Wallace Lages
Processing Aula 2 Prof. Wallace Lages Aula 2 Computadores e lógica digital Variáveis Condicionais Computador ou calculadora? Computador Máquina programável capaz de realizar automaticamente uma sequência
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Efetuando Abstração de Dados com as Linguagens C e C++ O capítulo 4 do
Leia maisPedro Vasconcelos DCC/FCUP. Programação Funcional 3 a Aula Definição de funções
Programação Funcional 3 a Aula Definição de funções Pedro Vasconcelos DCC/FCUP 2014 Definição de funções Podemos definir novas funções simples usando funções pré-definidas. minuscula :: Char -> Bool minuscula
Leia maisIntrodução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br
Leia maisRestauração de imagens NOAA por Morfologia Matemática
Restauração de imagens NOAA por Morfologia Matemática GERALD JEAN FRANCIS BANON 1 ANA LÚCIA BEZERRA CANDEIAS 1 1 DPI/INPE Divisão de Processamento de Imagens / Instituto Nacional de Pesquisas Espacias
Leia mais