Prévia do material em texto
CCT0404- Processamento de Imagens Revisão prova AV1 Introdução à Programação AULA 01: Introdução à Lógica de Programação Motivação • Melhorar a informação da imagem para interpretação humana • Melhoramento de imagem para diagnostico médico • Armazenamento e transmissão eficientes de vídeos. • Processamento de imagem para melhorar o Georreferenciamento Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Introdução O Processamento Digital de Imagens (PDI) não é uma tarefa simples, na realidade envolve um conjunto de tarefas interconectadas. Tudo se inicia com a captura de uma imagem, a qual, normalmente, corresponde à iluminação que é refletida na superfície dos objetos, realizada através e um sistema de aquisição (Ex. Scanner). Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Conjunto de tarefas para PDI Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Conceitos fundamentais Imagem GRÁFICA é toda e qualquer representação visual do REAL, mantendo assim fielmente suas proporções. Imagem ARTÍSTICA é pessoal; toda e qualquer interpretação ou distorção visual do REAL. Processamento de imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Definição técnica Uma imagem – Uma função bidimensional, f(x,y) – Cada ponto no par ordenado (x,y) é chamado de intensidade do ponto ou de nível de cinza. Quando x, y e o nível de cinza são finitos tem-se uma imagem digital Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Introdução Computação Gráfica Objetivo: manipular e criar imagens -Entrada: dados -Saída: imagens Processamento de Imagens Processamento de Imagens Objetivo: processar e transformar imagens -Entrada: imagens -Saída: imagens Visão Computacional Objetivo: simular a visão humana -Reconhecer/identificar padrões Entrada: dados Saida: aprendizado Introdução à Programação AULA 01: Introdução à Lógica de Programação Aplicabilidade Processamento de Imagens Medicina Raio-x Introdução à Programação AULA 01: Introdução à Lógica de Programação Aplicabilidade Processamento de Imagens Medicina Ultrassonografia Introdução à Programação AULA 01: Introdução à Lógica de Programação Aplicabilidade Processamento de Imagens Georreferenciamento Introdução à Programação AULA 01: Introdução à Lógica de Programação Arquitetura básica do Processamento de imagens Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Tarefas típicas: Processamento de Imagens Emprega métodos capazes de melhorar a informação pictorial para interpretação e análises humanas. Tarefas típicas: • Realce do conteúdo da imagem; • Aumento de contraste; • Correção de Iluminação • Eliminação de ruídos • Falsa coloração Introdução à Programação AULA 01: Introdução à Lógica de Programação Histograma Processamento de Imagens Conforme Silva (2001), em processamento de imagens, trabalha-se sempre com os tons de cinza (digital numbers ou DNs) atribuídos aos pixels de uma imagem. O histograma é uma das formas mais comuns de se representar a distribuição dos DNs de uma imagem, e possivelmente a mais útil em processamento digital de imagens. Nota: Também, é a forma de representar uma imagem por meio de uma função gráfica Introdução à Programação AULA 01: Introdução à Lógica de Programação Histograma Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Expansão de contraste Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Eliminação de ruídos Processamento de Imagens Com ruídos Sem ruídos Ruído: È o mesmo que má qualidade ou imperfeições Introdução à Programação AULA 01: Introdução à Lógica de Programação Realce Processamento de Imagens Realce: podemos entender também como nitidez Introdução à Programação AULA 01: Introdução à Lógica de Programação Falsa coloração Processamento de Imagens Descolorido Falso-color Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de operações em Imagens Processamento de Imagens Transformação de imagem a[m,n] em imagem b[m,n] • Pontual: o resultado num pixel apenas depende do valor do pixel de entrada correspondente; Nota: È possível criar a mesma imagem com a quantidade de pixel Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de operações em Imagens Processamento de Imagens Transformação de imagem a[m,n] em imagem b[m,n] • Local: o resultado num pixel depende dos valores da vizinhança de pixels de entrada mais próximos; Nota: A medida que se aumenta a quantidade de pixel tem-se o aumento dos vizinhos mais próximos Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de operações em Imagens Processamento de Imagens Transformação de imagem a[m,n] em imagem b[m,n] • Global: o resultado num pixel depende de todos os valores dos pixels de entrada; Nota: Quanto maior a quantidade de pixel, melhor a imagem Introdução à Programação AULA 01: Introdução à Lógica de Programação Vizinhança de pixels Processamento de Imagens : Tipos de vizinhança de pixels O conceito de vizinhança de pixels é muito importante No caso mais comum de amostragem rectangular as vizinhanças mais usadas são: viz4 viz6viz8 Introdução à Programação AULA 01: Introdução à Lógica de Programação Reconhecimento de imagens de forma manual Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens : Fundamentos de Imagem digital Introdução à Programação AULA 01: Introdução à Lógica de Programação Introdução O processo de fundamentação da imagem é utilizado para quantificar uma imagem numericamente a partir um espaço amostral de uma imagem, onde: Processamento de Imagens Amostragem => tamanho da imagem digital, MxN Quantização => número de níveis de cinza = k=1 imagem binária k>1 imagem monocromática k2 Introdução à Programação AULA 01: Introdução à Lógica de Programação A estrutura do olho humano Processamento de Imagens Três membranas o revestem: A córnea A coroide; e a retina. A córnea e um tecido resistente e transparente que cobre a superfície anterior do olho. Como um prolongamento da córnea, temos a esclera, uma membrana opaca que reveste o restante do globo ocular.(Gonzalez e Richard, 2010, p 22) Introdução à Programação AULA 01: Introdução à Lógica de Programação A estrutura do olho humano Processamento de Imagens Três membranas o revestem: A córnea A coroide; e a retina. A coroide situa-se diretamente abaixo da esclera. Essa membrana contem uma rede de vasos sanguíneos que atua como a principal fonte de nutrição para o olho. Introdução à Programação AULA 01: Introdução à Lógica de Programação A estrutura do olho humano Processamento de Imagens Três membranas o revestem: A córnea A coroide; e a retina. A membrana mais interna do olho é a retina, que se estende por toda a porção posterior da parede do olho. Quando o olho esta adequadamente focalizado, a luz de um objeto externo ao olho forma uma imagem na retina. Introdução à Programação AULA 01: Introdução à Lógica de Programação A estrutura do olho humano Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógicade Programação A estrutura do olho humano Processamento de Imagens A disposição geométrica apresentada na Figura 2.3 ilustra como calcular as dimensões de uma imagem formada na retina. Por exemplo, suponha que uma pessoa esteja olhando para uma arvore de 15 m de altura a uma distancia de 100 m. Se h for a altura do objeto na imagem formada na retina, a disposição geométrica da Figura 2.3 nos leva a: Fonte: (Gonzalez e Richard, 2010, p 23) 15 = h 100 17 Onde, h = 2,55 mm. Introdução à Programação AULA 01: Introdução à Lógica de Programação Quantização de imagem Processamento de Imagens Amostragem Quantizador Conversão numérica Introdução à Programação AULA 01: Introdução à Lógica de Programação Quantização de Imagem Processamento de Imagens M N (M colunas, N linhas) f(MxN) Introdução à Programação AULA 01: Introdução à Lógica de Programação Qualidade da imagem Processamento de Imagens Resolução do brilho (“brightness resolution”) – número de tons de cinza Resolução espacial – função de: Densidade espacial – número de pixels (tamanho) Resolução óptica – sistema óptico, photosensor, eletrônica, … (capacidade de capturar detalhes) Introdução à Programação AULA 01: Introdução à Lógica de Programação Qualidade da imagem Processamento de Imagens • A qualidade de uma imagem deveria definir o grau de detalhe que se gostaria de observar na imagem digital. Definindo também a taxa de amostragem. Ex: Digitalização Sendo que digitalizadores apresentam taxas fixas. Introdução à Programação AULA 01: Introdução à Lógica de Programação Recursos para aquisição de imagens Processamento de Imagens • É o meio no qual pode-se capturar uma imagem por intermédio de equipamentos apropriado para tal. Imagem Plana Introdução à Programação AULA 01: Introdução à Lógica de Programação Aquisição de imagens Processamento de Imagens 2.3.2 Aquisição de imagens utilizando sensores por varredura de linha Introdução à Programação AULA 01: Introdução à Lógica de Programação Aquisição de imagens Processamento de Imagens 2.3.3 Aquisição de imagens utilizando sensores matriciais Introdução à Programação AULA 01: Introdução à Lógica de Programação Perspectivas de imagem digital Processamento de Imagens • Perspectiva da imagem - Plana Geometricamente falando, as figuras planas mais conhecidas são: círculo, quadrado, triângulo, retângulo, trapézio, hexágono, pentágono, paralelogramo e losango. Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Binária Monocromática Colorida RGB Tipos de imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens Processamento de Imagens Binária Uma Imagem binária, também chamada bi-nível, é uma imagem digital na qual há apenas dois valores possíveis para cada pixel; Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens Processamento de Imagens Monocromática monocromático, tons de cinza e preto e branco verdadeiro. Monocromático significa que vários tons de uma única cor são usados para fazer uma imagem. ... O sépia, por exemplo, que dá um tom mais amarronzado para a fotografia, é um tipo de imagem monocromática. Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens Processamento de Imagens Tons de cinza Embora não seja completamente incorreto, imagens em tons de cinza variam entre 0 a 256 tons de cinza e nenhuma outra cor. Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens Processamento de Imagens Preto e branco verdadeiro Verdadeiras fotos preto e branco usam somente preto e branco para produzir a imagem, embora a maioria usam mistura de tons de cinza. Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens Processamento de Imagens Colorida A cor é um descritor muito poderoso na identificação de uma imagem/objeto (reconhecimento de padrões e extração de características); Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens em bits Processamento de Imagens Introdução à Programação AULA 01: Introdução à Lógica de Programação Tipos de imagens Processamento de Imagens Sistema RGB é a sigla do sistema de cores aditivas formado pelas iniciais das cores em inglês Red, Green e Blue. A combinação dessas corres especificamente derivam um conjunto de cores com diferentes tonalidades. Introdução à Programação AULA 01: Introdução à Lógica de Programação Representação RGB Representação de cores RGB R G B RED GREEN BLUE Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens : Geoprocessamento de Imagem Introdução à Programação AULA 01: Introdução à Lógica de Programação Conceitos Processamento de Imagens Geoprocessamento - Conjunto de procedimentos que lidam com dados georreferenciados e cuja área de atuação envolve a coleta e o tratamento da informação espacial, assim como o desenvolvimento e uso de sistemas e aplicações; Geoprocessamento - Conjunto de técnicas e metodologias relacionadas a coleta, armazenamento e tratamento de informações espaciais ou georreferenciadas para serem utilizadas em sistemas específicos que de alguma forma se utiliza do espaço físico geográfico; Geoprocessamento - É a disciplina do conhecimento que utiliza técnicas matemáticas e computacionais para o tratamento de informações geográficas. Introdução à Programação AULA 01: Introdução à Lógica de Programação GeoTecnologia Processamento de Imagens Conjunto de tecnologias para coleta, processamento, análise e disponibilização de informação com referência geográfica. As geotecnologias estão entre os três mercados emergentes mais importantes da atualidade, junto com a nanotecnologia e a biotecnologia (Revista Nature, jan2004); Introdução à Programação AULA 01: Introdução à Lógica de Programação Fluxo do Geoprocessamento Processamento de Imagens Armazenamento Cartografia Sensoriamento Remoto Fotogrametria Topografia Dados alfanuméricos Coleta Banco de dados Geográfico Tratamento e análise Modelagem de dados Geoestatística Aritmética lógica Análise de redes Análise topológica Reclassificação SIG - GIS CAD Uso integrado Conjunto de técnicas relacionadas ao tratamento da informação espacial G eo p ro ce ss am e n to Introdução à Programação AULA 01: Introdução à Lógica de Programação Armazenamento BDG Processamento de Imagens Interface Entrada e integração de dados Consulta e análise espacial Visualização e plotagem Gerência de dados espaciais Banco de dados geográfico (BDG) Introdução à Programação AULA 01: Introdução à Lógica de Programação Divisão em Camadas Processamento de Imagens Fonte:(Adaptadada: Revista Nature, jan2004); Introdução à Programação AULA 01: Introdução à Lógica de Programação Espaço Geográfico X Informação Espacial Processamento de Imagens • Espaço geográfico: uma coleção de localizações na superfície da Terra, sobre a qual ocorrem os fenômenos geográficos; • Informação espacial: está relacionada à existência de objetos com propriedades, as quais incluem a sua localização no espaço e a sua relação com outros objetos. Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Fonte:(Adaptadada: Revista Nature, jan2004); Espaço Geográfico X Informação Espacial Introdução à ProgramaçãoAULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Características do SIG • Integrar, numa única base de dados, as informações espaciais provenientes de dados cartográficos, dados de censo e cadastro urbano e rural, imagens de satélite, redes e modelos numéricos de terreno; • Oferecer mecanismos para combinar as várias informações, através de algoritmos de manipulação e análise, bem como consultar, recuperar, visualizar e plotar o conteúdo da base de dados georreferenciados. Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Exemplo de análise espacial Análise Espacial Análise Pergunta Geral Exemplo Condição O que está... Qual a população desta cidade? Localização Onde está... Quais as áreas com declividade acima de 20% ? Tendência O que mudou... Esta terra era produtiva a 5 anos atrás? Rota Como chegar... Qual o melhor caminho para a rodoviária? Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Exemplo de análise espacial Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Exemplo de mapas Mapas cadastrais: cada elemento do mapa é considerado como um objeto geográfico possuindo atributo e podendo estar associado a várias representações gráficas Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoProcessamento de Imagens Exemplo de satélites São armazenadas como matrizes, sendo que cada elemento é denominado pixel, que tem um valor proporcional a energia eletromagnética refletida ou emitida pela área da superfície terrestre mapeada. Satélites: LANDSAT, SPOT, NOAA, METEOSAT, ERS. Fontes: Google earth Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia Básica Processamento de Imagens CONCI, Aura; AZEVEDO, Eduardo; LETTA, Fabiana. Computação Gráfica: Processamento de Imagens. Rio de Janeiro: Elsevier, 2008. Vol. 2. GONZALEZ, R.C.; WOODS, R.E. Processamento de Imagens Digitais. 3. ed. São Paulo: Pearson, 2010. HETEM, Jr., Anníbal. Computação gráfica. Rio de Janeiro: LTC, 2006. MARQUES FILHO, Ogê; VIEIRA NETO, Hugo. Processamento digital de imagens.. 3 ed.. Rio de Janeiro:: Brasport,, 2011. Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia Complementar Processamento de Imagens AZEVEDO, Eduardo; CONCI, Aura. Computação Gráfica: Teoria e Prática. Vol 1.. 1 ed... Rio de Janeiro:: Elsevier,,, 2003. COHEN, Marcelo; MANSSOUR, Isabel. openGL: uma Abordagem Prática e Objetiva... 1 Ed.. São Paulo:: Novatec,, 2006. Filho, O.M.; Neto, H.V. Processamento Digital de Imagens.. Porto Alegre: Brasport,1999. PEDRINI, H., SCHWARTZ, W. R. Análise de Imagens Digitais: Princípios, Algoritmos e Aplicações.. 1 Ed.. Rio de Janeiro:: Cengage, 2007. SOLOMON,Chris. BRECKON, Toby. Fundamentos de Processamento Digital de Imagens: Uma Abordagem Prática com Exemplos em Matlab.. 1 Ed.. Rio de Janeiro::LTC, 2013. Introdução à Programação AULA 01: Introdução à Lógica de Programação Sugestões de Livros Processamento de Imagens