SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Processamento Digital de Imagens
Fundamentos e Aplicações
aldisiog@gmail.com, jtunay@gmail.com

Maracanaú, 08 de Novembro de 2013

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Processamento Digital de Imagens
→

Introdução

→

Fundamentos e anatomia do olho humano

→

Áreas de atuação

→

Exemplo de Processamento e análise

→

Morfologia matemática

→

Filtragem, histograma e limiarização

→

Operações com imagens utilizando Python

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
→

Uma imagem pode ser definida como uma função bidimensional, f(x,y), em que x e
y são coordenadas espaciais, e a amplitude de f é chamada de intensidade ou
nível de cinza da imagem em um ponto.

→

Uma imagem digital, é assim chamada quando x, y e os valores de intensidade de
f são quantidades finitas e discretas, ou seja, um número finito de elementos
com suas localizações e valores específicos. Esses elementos são chamados de
pixels da imagem.

→

Processar uma imagem significa modificar ou extrair informações dela;

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Imagem Digital

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Convenção utilizada em Processamento de Imagens

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Imagem Digital
(0,0)

*f(x,y)

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fases de análise e processamento
Aquisição
Pré-processamento
Segmentação
Extração de Atributos

Reconhecimento e Interpretação

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fases de análise e processamento
Aquisição
Pré-processamento
Segmentação
Extração de Atributos

Reconhecimento e Interpretação

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fases de análise e processamento
Aquisição
Pré-processamento
Segmentação
Extração de Atributos

Reconhecimento e Interpretação

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fases de análise e processamento
Aquisição
Pré-processamento
Segmentação
Extração de Atributos

Reconhecimento e Interpretação

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fases de análise e processamento
Aquisição
Pré-processamento
Segmentação
Extração de Atributos

Reconhecimento e Interpretação

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fases de análise e processamento
Aquisição
Pré-processamento
Segmentação
Extração de Atributos

Reconhecimento e Interpretação

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Formação da Imagem

Quando um sensor de imagem registra a radiação que interagiu com objetos
físicos ocorre a formação de uma imagem.
Imagens monocromáticas são descritas como uma função bidimensional da
intensidade da luz f(x,y), onde x e y representam as coordenadas espaciais
(largura e altura) e o valor de f em qualquer ponto corresponde ao brilho
(nível de cinza) da imagem naquele ponto.
A intensidade de luz pode ser modelada como:
•  f(x,y) = i(x,y) · r(x,y)
•  i = 0 ≤ i(x,y) ≤

∞

(iluminação);

•  r = 0 ≤ r(x,y) ≤ 1 (refletância);
Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
Amostragem e quantização

○
➔

A saida da maioria dos sensores é uma forma de onda de tensão contínua cuja
amplitude e comportamento estão relacionados aos fenômenos físicos

➔

Precisamos converter dados contínuos em dados discretos;

➔

Uma imagem f(x,y) é amostrada resultando em M linhas e N colunas;
Esta imagem têm tamanho: M x N;
Os valores das coordenadas (x,y) são discretos: valores inteiros e
positivos;
Os valores dos níveis de cinza f(x,y) são discretos: valores reais e
positivos.

➔

Amostragem: Digitalização dos valores das coordenadas(posição)

➔

Quantização: Digitalização dos valores de intensidade de luz(brilho)

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
Amostragem e quantização

○
➔

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Espectro visível

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fundamentos e anatomia do olho humano

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Fundamentos e anatomia do olho humano
→

Percepção das cores no olho humano
○
No olho, as imagens são formadas sobre a
retina, numa área sensível à luz localizada no
fundo do olho. Na retina estão localizados
dois tipos de células foto-receptoras: os
bastonetes e os cones;
○
Os bastonetes distinguem a presença e a
ausência de luz ou tons intermediários;
○
Os cones percebem as cores.
○
Basicamente o olho é sensivel a:
■
Vermelho
■
Verde
■
Azul

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Formação da Imagem

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Áreas de Atuação
➔

Fotografia e impressão

➔

Imagens de satélite

➔

Medicina

➔

Detecção de face ou de objeto

➔

Biometria

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Áreas de Atuação - Biometria

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Áreas de Atuação - Imagem da retina e mamografia

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Extração de Ruídos

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Morfologia Matemática

●

Conjunto de técnicas utilizadas para manipular a
estrutura dos objetos
Elemento estruturante

●

Operações básicas (Dilatação e Erosão)

●

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Morfologia Matemática
➔ Operações básicas
Podemos dividir as operações a serem realizadas em
imagens binárias e operações realizadas em imagens em
tons de cinza e coloridas.
➔ Dilatação Binária (⊕)
Transformação morfológica que combina dois conjuntos
utilizando adição vetorial, o resultado dessa operação
será uma imagem mais “engordada”.
Ela pode ser representada pela união A ⊕ B = A ∪ B.
A dilatação de um conjunto A pelo conjunto B e definida
por:
A ⊕ B = { c | c = a + b , a ∈ A , b ∈ B }

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Morfologia Matemática
➔ Dilatação Binária (⊕)
A representa a imagem sendo operada e B é um segundo
conjunto onde é chamado elemento estrutural e sua
composição define a natureza especifica da dilatação,
sendo assim a dilatação expande uma imagem.
➔ Erosão Binária (θ)
Basicamente encolhe uma imagem e pode ser vista como uma
transformação morfológica que combina dois conjuntos
usando vetores de subtração. Ela é expressa como a
interseção de A e B. Assim e definido A θ B = B ∩ A.
A erosão da imagem A pelo elemento estrutural B pode ser
definida como:

Aldisio Medeiros = ( x | x + b ∈ A para todo b ∈ B)
A θ B
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Filtragem, histograma e limiarização
Original

Passo intermadiário

Resultado dilatação

Original

Passo intermadiário

Resultado Erosão

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Filtragem, histograma e limiarização
➔ Filtragem
Elinação de elementos com uma determinada característica
na imagem. A filtragem é realizada pixel a pixel, onde o
novo nível de cinza de um ponto P qualquer depende do seu
nível de cinza original e do de outros pontos
considerados como vizinhança de P.
Em geral, os pontos mais próximos de P contribuem mais
para o novo valor do nível de cinza do que os pontos mais
afastados

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Filtragem, histograma e limiarização
➔ Histograma
Distribuiçao de intensidade dos pixels

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Filtragem, histograma e limiarização
➔ Binarização
Consiste em separar o histograma de uma imagem em duas
regiões.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações
○

Filtragem, histograma e limiarização
➔ Limiarização
Uma das abordagens mais importantes de segmentação de imagens, sendo um
caso específico desta.
Consiste em separar as regiões de uma imagem em duas classes: objeto e
fundo.
As demais regiões são classificadas como não interessantes.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔ Limiarização
Na limiarização ou binarização, tem-se, em geral, objetos
pretos(0) sobre o fundo branco(255).

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔ Limiarização
A limiarização é baseada na utilização de um histograma. A
limiarização simples é eficiente quando se tem níveis de cinza
bem distintos. Regiões com intensidade uniforme tem picos
elevados no histograma.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔ Limirização
É dita trivial quando os níveis de cinza do objeto e do
fundo apresentarem duas classes distintas na forma de
dois picos.
O objetivo é encontrar um vale entre os dois picos
encontrando um limiar T que separe as duas classes.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔

Aldisio Medeiros
Tunay Araújo

Limiarização

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔ Limiarização
Os métodos de limiarização possuem duas abordagens
distintas, uma global e outra lobal.
Os globais utilizam um único limiar T para toda a imagem.
O local tem como princípio dividir a imagem em sub-regiões,
cada uma com seu limiar específico.
Em função das características de cada imagem, podem ser
necessários diferentes valores de limiar para cada região.
Uma desvantagem do limiar global é a dificuldade de se
encontrar um vale entre dois picos.
Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔

Limiarização

Único limiar
Aldisio Medeiros
Tunay Araújo

Multiníveis
Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔

Limiarização (Métodos)
Método de Kittler
Método de Pun
Método de Otsu
Método Ótimo
Método de Kapur
Método de Arms

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

tragem, histograma e limiarização
➔ Método de Otsu
INICIO
LEIA Figura;
CRIE Cinza[256];
FAÇA
Cinza[Figura[i]]++;
i ++;
ENQUANTO I < Tamanho(Figura)
Média <- CalcularProbabilidade(Cinza);
FAÇA
SE Figura[i] <= Média ENTÃO
FiguraBinaria[i] <- 0;
SENÃO
FiguraBinaria[i] <- 1;
FIM SE
ENQUANTO I < Tamanho(Figura)
RETORNE FiguraBinaria
FIM INICIO
Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Campus Maracanaú
Ciência da Computação
Ciênciada Computação

Filtragem, histograma e limiarização
➔ Método de Otsu
Procura um limiar ótimo para a imagem e tem a importante
peculiaridade de se basear inteiramente em cálculos realizados
no histograma de uma imagem.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

3/25
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Ferramenta utilizada - Linguagem Python

Por que Python?

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Introdução
○

Ferramenta utilizada - Linguagem Python
➔

➔

➔

Python - Linguagem de programação de alto nível open
source, interpretada, imperativa, orientada a objetos,
funcional de tipagem dinâmica e forte. Foi lançada por
Guido Van Rossun em 1991;
Prioriza a legibilidade do código sobre a velocidade ou
expressividade. Combina uma sintaxe concisa e clara com
os recursos poderosos de sua biblioteca padrão e por
módulos e frameworks desenvolvidos por terceiros.
Possui várias bibliotecas para manipulação de imagens e
é nativa no sistema operacional linux.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações com imagens utilizando Python
●

●
●

●

Python Image Library (PIL) - é um pacote que contém
várias classes e funções que permite a manipulação
de imagens a partir de um script python.
Mamba - Biblioteca open source escrita em C e python
para operações de morfologia matematica.
Matplotlib - Biblioteca de plotagem 2D para a
linguagem python. Pode gerar gráficos, histogramas,
espectros de potência, gráficos de barras, gráficos de
dispersão, etc, com apenas algumas linhas de código.
SimpleCV - é um framework de código aberto para a
construção de aplicações de visão computacional. Com
ele, você tem acesso a várias bibliotecas de visão por
computador de alta potência, como OpenCV.

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações com imagens utilizando python
➔

Scripts

from PIL import Image
imagem = Image.open("C:UsersusuarioPicturesretina1.jpg")
imagem.show()

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Operações com imagens utilizando python
➔

Scripts

from PIL import Image
global ext
ext = ".jpg"
def imgCrop(im):
box = (50, 50, 200, 300)
region = im.crop(box)
region.save("CROPPED" + ext)
im1 = Image.open("C:UsersusuarioPicturesretina1.jpg")
imagem = imgCrop(im1)
Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012
Instituto Federal do Ceará - IFCE
Campus Maracanaú
Ciência da Computação

Considerações finais
➔

Referências

1. GONZALEZ, Rafael; Woods, Richard. Processamento Digital de
Imagens.. 3. ed. Longman do Brasil, 2010. 624p.
2. http://www.mamba-image.org/
3. http://www.inf.ufsc.br/~visao/morfologia.pdf

Aldisio Medeiros
Tunay Araújo

Novembro, 08 de 2012

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herançaIvan Ricarte
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Leinylson Fontinele
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalizaçãoTicianne Darin
 
Introdução a Machine Learning e TensorFlow
Introdução a Machine Learning e TensorFlowIntrodução a Machine Learning e TensorFlow
Introdução a Machine Learning e TensorFlowGuilherme Campos
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoessamuelthiago
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcionalfabiocerqueira
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Marcos Castro
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
12 correlação e regressão
12   correlação e regressão12   correlação e regressão
12 correlação e regressãoFernando Lucas
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresRegis Magalhães
 
Derivação com logaritmo
Derivação com logaritmoDerivação com logaritmo
Derivação com logaritmoDiego Oliveira
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 

Mais procurados (20)

Matemática - PA e PG
Matemática - PA e PGMatemática - PA e PG
Matemática - PA e PG
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herança
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
 
Exercício resolvido normalização
Exercício resolvido normalizaçãoExercício resolvido normalização
Exercício resolvido normalização
 
Introdução a Machine Learning e TensorFlow
Introdução a Machine Learning e TensorFlowIntrodução a Machine Learning e TensorFlow
Introdução a Machine Learning e TensorFlow
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoes
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Ponto Flutuante
Ponto FlutuantePonto Flutuante
Ponto Flutuante
 
Python - Programação funcional
Python - Programação funcionalPython - Programação funcional
Python - Programação funcional
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
IA Prolog
IA PrologIA Prolog
IA Prolog
 
Sequencia logica
Sequencia logicaSequencia logica
Sequencia logica
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
12 correlação e regressão
12   correlação e regressão12   correlação e regressão
12 correlação e regressão
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 
Derivação com logaritmo
Derivação com logaritmoDerivação com logaritmo
Derivação com logaritmo
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 

Destaque

Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Richiely Paiva
 
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...Murilo Adriano Vasconcelos
 
Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0André Moreira
 
Detecção de Agrupamentos de Microcalcificações em Imagens Digitais de Mamografia
Detecção de Agrupamentos de Microcalcificações em Imagens Digitais de MamografiaDetecção de Agrupamentos de Microcalcificações em Imagens Digitais de Mamografia
Detecção de Agrupamentos de Microcalcificações em Imagens Digitais de MamografiaAldisio Medeiros
 
Apresentação geometria computacional
Apresentação   geometria computacionalApresentação   geometria computacional
Apresentação geometria computacionalAldisio Medeiros
 
Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...
Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...
Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...Charles Silva
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livrepichiliani
 
Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Guilherme Stéfano
 
Introdução à biblioteca OpenCV
Introdução à biblioteca OpenCVIntrodução à biblioteca OpenCV
Introdução à biblioteca OpenCVGuto Kaberdock
 
Introduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part IIntroduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part IMichel Alves
 
Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...
Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...
Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...Carla Ferreira
 
Processamento de imagens: Técnicas e Aplicações
Processamento de imagens: Técnicas e AplicaçõesProcessamento de imagens: Técnicas e Aplicações
Processamento de imagens: Técnicas e AplicaçõesDiego Souza Silva
 
Introdução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens DigitaisIntrodução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens DigitaisMurilo Adriano Vasconcelos
 
Telemedicina
TelemedicinaTelemedicina
Telemedicinareebeca
 
Aplicacao da genetica
Aplicacao da geneticaAplicacao da genetica
Aplicacao da geneticaClaud Snglr
 

Destaque (20)

Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
Sistema de Reconhecimento de Placas de Carro (Brasil) - Visão Computacional/O...
 
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
Processamento de Imagens Digitais - Transformações de Intensidade, Filtragem ...
 
Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0Compilando e Usando OpenCV v. 3.0.0
Compilando e Usando OpenCV v. 3.0.0
 
Detecção de Agrupamentos de Microcalcificações em Imagens Digitais de Mamografia
Detecção de Agrupamentos de Microcalcificações em Imagens Digitais de MamografiaDetecção de Agrupamentos de Microcalcificações em Imagens Digitais de Mamografia
Detecção de Agrupamentos de Microcalcificações em Imagens Digitais de Mamografia
 
Apresentação geometria computacional
Apresentação   geometria computacionalApresentação   geometria computacional
Apresentação geometria computacional
 
Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...
Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...
Um estudo sobre segmentação automática de imagens bidimensionais de seções tr...
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livre
 
Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)Projeto de reconhecimento de placas (2)
Projeto de reconhecimento de placas (2)
 
Introdução à biblioteca OpenCV
Introdução à biblioteca OpenCVIntrodução à biblioteca OpenCV
Introdução à biblioteca OpenCV
 
Introduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part IIntroduction to Image Processing - Short Course - Part I
Introduction to Image Processing - Short Course - Part I
 
Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...
Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...
Pesquisa Usuarios IFG (Instituto Federal de Educação, Ciência e Tecnolgia de ...
 
Processamento de imagens: Técnicas e Aplicações
Processamento de imagens: Técnicas e AplicaçõesProcessamento de imagens: Técnicas e Aplicações
Processamento de imagens: Técnicas e Aplicações
 
Aula 5 Processamento de imagens
Aula 5 Processamento de imagensAula 5 Processamento de imagens
Aula 5 Processamento de imagens
 
Introdução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplosIntrodução OpenCV (Pt-Br) com exemplos
Introdução OpenCV (Pt-Br) com exemplos
 
Processamento de imagens
Processamento de imagensProcessamento de imagens
Processamento de imagens
 
Introdução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens DigitaisIntrodução ao Processamento de Imagens Digitais
Introdução ao Processamento de Imagens Digitais
 
Telemedicina
TelemedicinaTelemedicina
Telemedicina
 
PDI - Notas De Aula
PDI - Notas De AulaPDI - Notas De Aula
PDI - Notas De Aula
 
Aplicacao da genetica
Aplicacao da geneticaAplicacao da genetica
Aplicacao da genetica
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 

Processamento Digital de Imagens - Fundamentos e Aplicações

  • 1. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Processamento Digital de Imagens Fundamentos e Aplicações aldisiog@gmail.com, jtunay@gmail.com Maracanaú, 08 de Novembro de 2013 Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 2. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Processamento Digital de Imagens → Introdução → Fundamentos e anatomia do olho humano → Áreas de atuação → Exemplo de Processamento e análise → Morfologia matemática → Filtragem, histograma e limiarização → Operações com imagens utilizando Python Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 3. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução → Uma imagem pode ser definida como uma função bidimensional, f(x,y), em que x e y são coordenadas espaciais, e a amplitude de f é chamada de intensidade ou nível de cinza da imagem em um ponto. → Uma imagem digital, é assim chamada quando x, y e os valores de intensidade de f são quantidades finitas e discretas, ou seja, um número finito de elementos com suas localizações e valores específicos. Esses elementos são chamados de pixels da imagem. → Processar uma imagem significa modificar ou extrair informações dela; Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 4. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Imagem Digital Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 5. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Convenção utilizada em Processamento de Imagens Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 6. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Imagem Digital (0,0) *f(x,y) Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 7. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fases de análise e processamento Aquisição Pré-processamento Segmentação Extração de Atributos Reconhecimento e Interpretação Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 8. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fases de análise e processamento Aquisição Pré-processamento Segmentação Extração de Atributos Reconhecimento e Interpretação Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 9. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fases de análise e processamento Aquisição Pré-processamento Segmentação Extração de Atributos Reconhecimento e Interpretação Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 10. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fases de análise e processamento Aquisição Pré-processamento Segmentação Extração de Atributos Reconhecimento e Interpretação Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 11. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fases de análise e processamento Aquisição Pré-processamento Segmentação Extração de Atributos Reconhecimento e Interpretação Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 12. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fases de análise e processamento Aquisição Pré-processamento Segmentação Extração de Atributos Reconhecimento e Interpretação Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 13. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Formação da Imagem Quando um sensor de imagem registra a radiação que interagiu com objetos físicos ocorre a formação de uma imagem. Imagens monocromáticas são descritas como uma função bidimensional da intensidade da luz f(x,y), onde x e y representam as coordenadas espaciais (largura e altura) e o valor de f em qualquer ponto corresponde ao brilho (nível de cinza) da imagem naquele ponto. A intensidade de luz pode ser modelada como: •  f(x,y) = i(x,y) · r(x,y) •  i = 0 ≤ i(x,y) ≤ ∞ (iluminação); •  r = 0 ≤ r(x,y) ≤ 1 (refletância); Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 14. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução Amostragem e quantização ○ ➔ A saida da maioria dos sensores é uma forma de onda de tensão contínua cuja amplitude e comportamento estão relacionados aos fenômenos físicos ➔ Precisamos converter dados contínuos em dados discretos; ➔ Uma imagem f(x,y) é amostrada resultando em M linhas e N colunas; Esta imagem têm tamanho: M x N; Os valores das coordenadas (x,y) são discretos: valores inteiros e positivos; Os valores dos níveis de cinza f(x,y) são discretos: valores reais e positivos. ➔ Amostragem: Digitalização dos valores das coordenadas(posição) ➔ Quantização: Digitalização dos valores de intensidade de luz(brilho) Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 15. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução Amostragem e quantização ○ ➔ Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 16. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Espectro visível Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 17. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fundamentos e anatomia do olho humano Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 18. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Fundamentos e anatomia do olho humano → Percepção das cores no olho humano ○ No olho, as imagens são formadas sobre a retina, numa área sensível à luz localizada no fundo do olho. Na retina estão localizados dois tipos de células foto-receptoras: os bastonetes e os cones; ○ Os bastonetes distinguem a presença e a ausência de luz ou tons intermediários; ○ Os cones percebem as cores. ○ Basicamente o olho é sensivel a: ■ Vermelho ■ Verde ■ Azul Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 19. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Formação da Imagem Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 20. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Áreas de Atuação ➔ Fotografia e impressão ➔ Imagens de satélite ➔ Medicina ➔ Detecção de face ou de objeto ➔ Biometria Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 21. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Áreas de Atuação - Biometria Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 22. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Áreas de Atuação - Imagem da retina e mamografia Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 23. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Extração de Ruídos Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 24. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Morfologia Matemática ● Conjunto de técnicas utilizadas para manipular a estrutura dos objetos Elemento estruturante ● Operações básicas (Dilatação e Erosão) ● Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 25. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Morfologia Matemática ➔ Operações básicas Podemos dividir as operações a serem realizadas em imagens binárias e operações realizadas em imagens em tons de cinza e coloridas. ➔ Dilatação Binária (⊕) Transformação morfológica que combina dois conjuntos utilizando adição vetorial, o resultado dessa operação será uma imagem mais “engordada”. Ela pode ser representada pela união A ⊕ B = A ∪ B. A dilatação de um conjunto A pelo conjunto B e definida por: A ⊕ B = { c | c = a + b , a ∈ A , b ∈ B } Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 26. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Morfologia Matemática ➔ Dilatação Binária (⊕) A representa a imagem sendo operada e B é um segundo conjunto onde é chamado elemento estrutural e sua composição define a natureza especifica da dilatação, sendo assim a dilatação expande uma imagem. ➔ Erosão Binária (θ) Basicamente encolhe uma imagem e pode ser vista como uma transformação morfológica que combina dois conjuntos usando vetores de subtração. Ela é expressa como a interseção de A e B. Assim e definido A θ B = B ∩ A. A erosão da imagem A pelo elemento estrutural B pode ser definida como: Aldisio Medeiros = ( x | x + b ∈ A para todo b ∈ B) A θ B Tunay Araújo Novembro, 08 de 2012 3/25
  • 27. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Filtragem, histograma e limiarização Original Passo intermadiário Resultado dilatação Original Passo intermadiário Resultado Erosão Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 28. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Filtragem, histograma e limiarização ➔ Filtragem Elinação de elementos com uma determinada característica na imagem. A filtragem é realizada pixel a pixel, onde o novo nível de cinza de um ponto P qualquer depende do seu nível de cinza original e do de outros pontos considerados como vizinhança de P. Em geral, os pontos mais próximos de P contribuem mais para o novo valor do nível de cinza do que os pontos mais afastados Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 29. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Filtragem, histograma e limiarização ➔ Histograma Distribuiçao de intensidade dos pixels Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 30. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Filtragem, histograma e limiarização ➔ Binarização Consiste em separar o histograma de uma imagem em duas regiões. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 31. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações ○ Filtragem, histograma e limiarização ➔ Limiarização Uma das abordagens mais importantes de segmentação de imagens, sendo um caso específico desta. Consiste em separar as regiões de uma imagem em duas classes: objeto e fundo. As demais regiões são classificadas como não interessantes. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 32. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Limiarização Na limiarização ou binarização, tem-se, em geral, objetos pretos(0) sobre o fundo branco(255). Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 33. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Limiarização A limiarização é baseada na utilização de um histograma. A limiarização simples é eficiente quando se tem níveis de cinza bem distintos. Regiões com intensidade uniforme tem picos elevados no histograma. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 34. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Limirização É dita trivial quando os níveis de cinza do objeto e do fundo apresentarem duas classes distintas na forma de dois picos. O objetivo é encontrar um vale entre os dois picos encontrando um limiar T que separe as duas classes. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 35. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Aldisio Medeiros Tunay Araújo Limiarização Novembro, 08 de 2012 3/25
  • 36. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Limiarização Os métodos de limiarização possuem duas abordagens distintas, uma global e outra lobal. Os globais utilizam um único limiar T para toda a imagem. O local tem como princípio dividir a imagem em sub-regiões, cada uma com seu limiar específico. Em função das características de cada imagem, podem ser necessários diferentes valores de limiar para cada região. Uma desvantagem do limiar global é a dificuldade de se encontrar um vale entre dois picos. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 37. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Limiarização Único limiar Aldisio Medeiros Tunay Araújo Multiníveis Novembro, 08 de 2012 3/25
  • 38. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Limiarização (Métodos) Método de Kittler Método de Pun Método de Otsu Método Ótimo Método de Kapur Método de Arms Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 39. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação tragem, histograma e limiarização ➔ Método de Otsu INICIO LEIA Figura; CRIE Cinza[256]; FAÇA Cinza[Figura[i]]++; i ++; ENQUANTO I < Tamanho(Figura) Média <- CalcularProbabilidade(Cinza); FAÇA SE Figura[i] <= Média ENTÃO FiguraBinaria[i] <- 0; SENÃO FiguraBinaria[i] <- 1; FIM SE ENQUANTO I < Tamanho(Figura) RETORNE FiguraBinaria FIM INICIO Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 40. Instituto Federal do Ceará - IFCE Instituto Federal do Ceará - IFCE Campus Maracanaú Campus Maracanaú Ciência da Computação Ciênciada Computação Filtragem, histograma e limiarização ➔ Método de Otsu Procura um limiar ótimo para a imagem e tem a importante peculiaridade de se basear inteiramente em cálculos realizados no histograma de uma imagem. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012 3/25
  • 41. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Ferramenta utilizada - Linguagem Python Por que Python? Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 42. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Introdução ○ Ferramenta utilizada - Linguagem Python ➔ ➔ ➔ Python - Linguagem de programação de alto nível open source, interpretada, imperativa, orientada a objetos, funcional de tipagem dinâmica e forte. Foi lançada por Guido Van Rossun em 1991; Prioriza a legibilidade do código sobre a velocidade ou expressividade. Combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por terceiros. Possui várias bibliotecas para manipulação de imagens e é nativa no sistema operacional linux. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 43. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações com imagens utilizando Python ● ● ● ● Python Image Library (PIL) - é um pacote que contém várias classes e funções que permite a manipulação de imagens a partir de um script python. Mamba - Biblioteca open source escrita em C e python para operações de morfologia matematica. Matplotlib - Biblioteca de plotagem 2D para a linguagem python. Pode gerar gráficos, histogramas, espectros de potência, gráficos de barras, gráficos de dispersão, etc, com apenas algumas linhas de código. SimpleCV - é um framework de código aberto para a construção de aplicações de visão computacional. Com ele, você tem acesso a várias bibliotecas de visão por computador de alta potência, como OpenCV. Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 44. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações com imagens utilizando python ➔ Scripts from PIL import Image imagem = Image.open("C:UsersusuarioPicturesretina1.jpg") imagem.show() Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 45. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Operações com imagens utilizando python ➔ Scripts from PIL import Image global ext ext = ".jpg" def imgCrop(im): box = (50, 50, 200, 300) region = im.crop(box) region.save("CROPPED" + ext) im1 = Image.open("C:UsersusuarioPicturesretina1.jpg") imagem = imgCrop(im1) Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012
  • 46. Instituto Federal do Ceará - IFCE Campus Maracanaú Ciência da Computação Considerações finais ➔ Referências 1. GONZALEZ, Rafael; Woods, Richard. Processamento Digital de Imagens.. 3. ed. Longman do Brasil, 2010. 624p. 2. http://www.mamba-image.org/ 3. http://www.inf.ufsc.br/~visao/morfologia.pdf Aldisio Medeiros Tunay Araújo Novembro, 08 de 2012