Fundamentos de Processamento
Digital de Imagens
Com projetos práticos no
GNU Octave
By Jotacísio
Matematicamente falando, o que é uma imagem
monocromática?
● É uma função de duas dimensões, f(x,y), em que x e y são
coor...
Matematicamente falando, o que é uma imagem
monocromática?
Origem
x
y
● x é a coordenada espacial
da vertical
● y é a coor...
Expandindo para ver melhor os pixels, como fica?
Então, o que seria processamento digital de
imagens?
O conceito de PDI
● De forma ampla PDI abrange uma grande escala de Hardware,
Software e fundamentos teóricos. Mas numa vi...
Algumas áreas que utilizam PDI
Radiologia
Tomografia axial computadorizada
Radiografia torácica
Algumas áreas que utilizam PDI
Agricultura
Milho infectado por fungo
Índice de Vegetação da Diferença Normalizada
Algumas áreas que utilizam PDI
Hardware
PCB (placa de circuito impresso)
Algumas áreas que utilizam PDI
Meteorologia
Furacão Katrina
Algumas áreas que utilizam PDI
Jogos
MultiSample Anti-Aliasing(30% de perda de desempenho)
Algumas áreas que utilizam PDI
Jogos
Tecnologia Nvidia para melhoramento de resolução de jogos que
usa o filtro gaussiano
Algumas áreas que utilizam PDI
Jogos
Tecnologia AMD para melhoramento de resolução de jogos que
simula o SSAA, um tipo de ...
Passos Fundamentais
Passos Fundamentais
● Adquirir ou receber
uma imagem digital;
● Geralmente envolve
um pré- processamento,
por exemplo o
re...
Passos Fundamentais
● Processo de manipular
uma imagem de forma
que o resultado seja mais
adequado que o original
para uma...
Passos Fundamentais
● Melhora visual de
uma imagem cujas
técnicas tendem a
se basear em
modelos
matemáticos ou
probabilíst...
Passos Fundamentais
● Processamento
básico de cores e
modelos de cores de
um ambiente digital;
● A cor também é
utilizada ...
Passos Fundamentais
● As wavelets
constituem os
fundamentos para
representação de
imagens em vários
níveis de resolução;
●...
Passos Fundamentais
● Lida com as técnicas de
redução do armazenamento
necessário para salvar uma
imagem, ou a largura de
...
Passos Fundamentais
● Lida com
ferramentas para a
extração de
componentes de
imagens úteis na
representação da
forma.
Passos Fundamentais
● Os procedimentos de
segmentação dividem uma
imagem em suas partes ou
objetos constituintes;
● Aument...
Passos Fundamentais
● Quase sempre partem do
resultado da segmentação,
correspondendo à fronteira
de uma região ou aos
pon...
Passos Fundamentais
● O reconhecimento é o
processo que atribui um
rótulo a um objeto com
base em seus descritores.
Passos Fundamentais
● A codificação do
conhecimento sobre o
problema a ser abordado;
● Na prática é uma base de
dados que ...
Não era pra usa software livre?
Então por favor, sejamos mais
práticos.
GNU Octave
Os famosinhos do PDI
USD 625 Livre Livre
Vantagens do octave
● Sintaxe de orientação matemática com poderosas ferramentas de
visualização e plotagem embutidos
● So...
Alguns comandos do terminal
Variáveis
● who: Lista os nomes das variáveis.
● whos: Lista o nome e o tipo das variáveis.
● ...
Alguns comandos do terminal
Concatenação de palavras
>> a=‘Duas’;
>> b=‘ ’;
>> c=‘palavras.’;
>> [a b c]
ans =
Duas palavr...
Alguns comandos do terminal
Matrizes
>> [1,2;3,4]
ans =
1 2
3 4
>> [ans [5;6]]
ans =
1 2 3
4 5 6
Operadores Lógicos
Estruturas Condicionais
Estruturas Condicionais
Estruturas de Repetição
Primeiro exemplo prático
1. Ler a imagem – imread
2. Exibir a imagem – imshow
3. Manipular os pixels da
imagem individualm...
Segundo exemplo prático
1. Elaborar um algoritmo que
leia uma imagem e aplique a
moldura conforme mostrado
ao lado.
Terceiro exemplo prático
1. Leia a imagem Lena.jpg (im);
2. Mostre o tamanho da imagem im na janela de comando;
3. Transfo...
Próximos SlideShares
Carregando em…5
×

Processamento digital de imagens com gnu octave jotacisio araujo oliveira flisol 2017 natal

25 visualizações

Publicada em

Processamento Digital de Imagens com GNU Octave - Jotacisio Araujo Oliveira FLISOL 2017 Natal

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
25
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Processamento digital de imagens com gnu octave jotacisio araujo oliveira flisol 2017 natal

  1. 1. Fundamentos de Processamento Digital de Imagens Com projetos práticos no GNU Octave By Jotacísio
  2. 2. Matematicamente falando, o que é uma imagem monocromática? ● É uma função de duas dimensões, f(x,y), em que x e y são coordenadas espaciais (plano), e a amplitude de f de qualquer par de coordenadas (x, y) é chamada de intensidade ou nível de cinza. ● Se temos um conjunto finito e discreto de valores para f, x e y podemos chamar uma imagem de imagem digital. ● Cada elemento que compõe a imagem chamamos de pixels, uma abreviação de picture elements. ● A nível de programação podemos dizer que uma imagem seria um vetor bidimensional, ou matriz.
  3. 3. Matematicamente falando, o que é uma imagem monocromática? Origem x y ● x é a coordenada espacial da vertical ● y é a coordenada espacial da horizontal ● f(x,y) é um valor finito que define a intensidade ou nível de cinza ● f(x,y) varia de 0 a 255 f(x,y)
  4. 4. Expandindo para ver melhor os pixels, como fica?
  5. 5. Então, o que seria processamento digital de imagens?
  6. 6. O conceito de PDI ● De forma ampla PDI abrange uma grande escala de Hardware, Software e fundamentos teóricos. Mas numa visão bem específica podemos dizer que é um conjunto de códigos algorítmicos que tem a finalidade específica de manipular uma imagem. ● Sendo assim, a entrada e saída de um programa feito para PDI sempre será uma imagem.
  7. 7. Algumas áreas que utilizam PDI Radiologia Tomografia axial computadorizada Radiografia torácica
  8. 8. Algumas áreas que utilizam PDI Agricultura Milho infectado por fungo Índice de Vegetação da Diferença Normalizada
  9. 9. Algumas áreas que utilizam PDI Hardware PCB (placa de circuito impresso)
  10. 10. Algumas áreas que utilizam PDI Meteorologia Furacão Katrina
  11. 11. Algumas áreas que utilizam PDI Jogos MultiSample Anti-Aliasing(30% de perda de desempenho)
  12. 12. Algumas áreas que utilizam PDI Jogos Tecnologia Nvidia para melhoramento de resolução de jogos que usa o filtro gaussiano
  13. 13. Algumas áreas que utilizam PDI Jogos Tecnologia AMD para melhoramento de resolução de jogos que simula o SSAA, um tipo de antisserrilhamento.
  14. 14. Passos Fundamentais
  15. 15. Passos Fundamentais ● Adquirir ou receber uma imagem digital; ● Geralmente envolve um pré- processamento, por exemplo o redimensionamento.
  16. 16. Passos Fundamentais ● Processo de manipular uma imagem de forma que o resultado seja mais adequado que o original para uma aplicação específica; ● Baseia-se em preferências humanas subjetivas.
  17. 17. Passos Fundamentais ● Melhora visual de uma imagem cujas técnicas tendem a se basear em modelos matemáticos ou probabilísticos; ● Mais objetivo do que o realce.
  18. 18. Passos Fundamentais ● Processamento básico de cores e modelos de cores de um ambiente digital; ● A cor também é utilizada para extração de características.
  19. 19. Passos Fundamentais ● As wavelets constituem os fundamentos para representação de imagens em vários níveis de resolução; ● Compressão de dados e subdivisão da imagem de regiões menores.
  20. 20. Passos Fundamentais ● Lida com as técnicas de redução do armazenamento necessário para salvar uma imagem, ou a largura de banda necessária para transmiti-la.
  21. 21. Passos Fundamentais ● Lida com ferramentas para a extração de componentes de imagens úteis na representação da forma.
  22. 22. Passos Fundamentais ● Os procedimentos de segmentação dividem uma imagem em suas partes ou objetos constituintes; ● Aumentam as chances de sucesso para problemas que requerem a identificação individual dos objetos.
  23. 23. Passos Fundamentais ● Quase sempre partem do resultado da segmentação, correspondendo à fronteira de uma região ou aos pontos dentro dela; ● A descrição (ou seleção de características) lida com a extração de atributos que resultem em informações de interesse.
  24. 24. Passos Fundamentais ● O reconhecimento é o processo que atribui um rótulo a um objeto com base em seus descritores.
  25. 25. Passos Fundamentais ● A codificação do conhecimento sobre o problema a ser abordado; ● Na prática é uma base de dados que pode ser armazenado de um banco e consultado quando preciso. ● Ela dispensa um especialista em problemas onde é preciso fazer uma análise das imagens ao longo do processo ou no final dele.
  26. 26. Não era pra usa software livre? Então por favor, sejamos mais práticos. GNU Octave
  27. 27. Os famosinhos do PDI USD 625 Livre Livre
  28. 28. Vantagens do octave ● Sintaxe de orientação matemática com poderosas ferramentas de visualização e plotagem embutidos ● Software livre, roda em GNU/Linux, macOS, BSD e Windows ● Sintaxe amplamente compatível com Matlab ● É facilmente extensível e personalizável através de funções definidas pelo usuário escritas na própria linguagem do Octave, ou usando módulos carregados dinamicamente escritos em C ++, C, Fortran ou outras linguagens.
  29. 29. Alguns comandos do terminal Variáveis ● who: Lista os nomes das variáveis. ● whos: Lista o nome e o tipo das variáveis. ● clear: Elimina todas as variáveis da área de trabalho. Para se apagar uma ou mais variáveis utiliza-se o comando clear seguido dos nomes das variáveis separadas por espaço. ● save: Salva as variáveis em arquivo, podendo utilizá-las novamente na próxima vez que o programa for inicializado ou mesmo quando executado o comando clear. ● load: Recupera as variáveis previamente salvas em arquivo pelo comando save. ● clc: Limpa a janela de comandos.
  30. 30. Alguns comandos do terminal Concatenação de palavras >> a=‘Duas’; >> b=‘ ’; >> c=‘palavras.’; >> [a b c] ans = Duas palavras.
  31. 31. Alguns comandos do terminal Matrizes >> [1,2;3,4] ans = 1 2 3 4 >> [ans [5;6]] ans = 1 2 3 4 5 6
  32. 32. Operadores Lógicos
  33. 33. Estruturas Condicionais
  34. 34. Estruturas Condicionais
  35. 35. Estruturas de Repetição
  36. 36. Primeiro exemplo prático 1. Ler a imagem – imread 2. Exibir a imagem – imshow 3. Manipular os pixels da imagem individualmente 4. Inserir um degradê na imagem
  37. 37. Segundo exemplo prático 1. Elaborar um algoritmo que leia uma imagem e aplique a moldura conforme mostrado ao lado.
  38. 38. Terceiro exemplo prático 1. Leia a imagem Lena.jpg (im); 2. Mostre o tamanho da imagem im na janela de comando; 3. Transforme para escalas de cinza (imCinza); 4. Mostre o tamanho da imagem imCinza na janela de comando e compare os resultados; 5. Utilizando o laço de repetição “for”, aumente o valor de cada pixel de imCinza em 40%, gerando a imagem saida1; 6. Utilizando o laço de repetição “for”, diminua o valor de cada pixel de imCinza em 40%, gerando a imagem saida2; 7. Mostre em três janelas diferentes, com os nomes dos arquivos nos títulos das janelas, as imagens imCinza, saida1 e saida2; 8. Escreva as imagens imCinza, saida1 e saida2 no disco; 9. Substitua os laços “for” por atribuições diretas; 10. Conte os tempos de execuções com e sem laços de repetição e compare os resultados.

×