Escolar Documentos
Profissional Documentos
Cultura Documentos
Processamento de Imagens
Atividade Prática
Prof. Charles Way Hun Fung, MSc
SUMÁRIO
INFORMAÇÕES SOBRE A ATIVIDADE PRÁTICA .......................................................................... 2
OBJETIVOS ..................................................................................................................................... 3
MATERIAL DE CONSULTA.............................................................................................................. 4
ATIVIDADES .................................................................................................................................... 7
Histograma................................................................................................................................... 7
Atividade Prática de Processamento de Imagens 1 Prof. Charles Way Hun Fung, MSc
INFORMAÇÕES SOBRE A ATIVIDADE PRÁTICA
Esta atividade prática é individual, por isso cada aluno deve entregar seu próprio trabalho.
1. Todas as questões devem conter códigos na resolução, por isso apresente-os. Ver seção
“Apresentação dos códigos em todas as questões”.
2. As variáveis utilizadas na questão devem iniciar com o nome do aluno. Ver a seção
“Nomeação das Variáveis”.
3. Cada exercício deverá ser resolvido no formato proposto, devendo conter: Códigos,
imagem resultante e explicações. Ver a seção de “Forma da Resolução”.
Atividade Prática de Processamento de Imagens 2 Prof. Charles Way Hun Fung, MSc
OBJETIVOS
2. Fazer com que o aluno adquira vivência com problemas da área de processamento de
imagens.
3. Conhecer funções que realizam determinados processamentos e entender para que tipo
de problemas podem ser usados.
Atividade Prática de Processamento de Imagens 3 Prof. Charles Way Hun Fung, MSc
MATERIAL DE CONSULTA
Atividade Prática de Processamento de Imagens 4 Prof. Charles Way Hun Fung, MSc
FORMATO DA RESOLUÇÃO DAS QUESTÕES
Em todas as questões é pedido para utilizar algum comando com as imagens, por isso
mostre o código!
Exemplo:
imread(charles_imagem_Q01)
Caso o aluno não mostre o código, este terá um desconto da 25% na nota da questão!
O nome das variáveis deve estar com o nome do aluno em seu prefixo (deve começar
com o nome do aluno).
Exemplo:
charles_imagem_Q01 = imread(“house.tif”)
imshow(charles_imagem_Q01)
Caso o aluno não escreva o nome no prefixo da variável, este terá um desconto da 25% na
nota da questão!
Se o nome não condizer com o do aluno, a questão será ANULADA!
FORMATO DA RESOLUÇÃO
Segue o exemplo esperado para resolução dos exercícios desta atividade prática:
Atividade Prática de Processamento de Imagens 5 Prof. Charles Way Hun Fung, MSc
QUESTÃO EXEMPLO: Converta a imagem colorida lena_color_256.tif para níveis de cinza
usando o comando rgb2gray. Explique o que mudou na imagem, avalie dimensões e
quantidade de dados da imagem resultante. Apresente o código e imagens resultantes.
I) Apresentação do Código:
charles_img = imread("lena_color_256.tif");
charles_gray_img = rgb2gray(charles_img);
imshow(charles_gray_img)
Caso o aluno não siga essa estrutura de resolução terá sua nota descontada em até 25%!
Atividade Prática de Processamento de Imagens 6 Prof. Charles Way Hun Fung, MSc
ATIVIDADES
HISTOGRAMA
Conceitos de Histograma
Equalização de Histograma
A equalização é uma técnica que serve para uniformizar o histograma, de forma que o número
de pixels de cada nível de cinza seja praticamente o mesmo. Para isto deve-se calcular a função de
distribuição acumulada (cdf-cumulative distribution function) da distribuição de probabilidades, que
pode ser expressa por:
𝑛
𝑠 = 𝑇(𝑟 ) = = 𝑝 (𝑟 )
𝑛 (2)
Atividade Prática de Processamento de Imagens 7 Prof. Charles Way Hun Fung, MSc
O que consiste em somar a probabilidade do nível a cada nova iteração. Considerando
Exercícios de Histograma
Para resolver estes exercícios faça a leitura das imagens house.tif, cameraman.tif e
lena_color_256.tif utilizando o comando imread. Em todos os exercícios mostre o código,
imagens resultantes e apresente explicações.
Atividade Prática de Processamento de Imagens 8 Prof. Charles Way Hun Fung, MSc
1. Mostre o histograma de uma destas imagens, explique o formato do histograma, a
respeito de níveis de cinza, quantidade de pixels e contraste.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 9 Prof. Charles Way Hun Fung, MSc
2. Faça a plotagem das imagens com seus respectivos histogramas usando subplot, use
3 linhas e 2 colunas. Explique a diferença entre os histogramas.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 10 Prof. Charles Way Hun Fung, MSc
3. Realize a equalização na imagem cameraman.tif, faça uma comparação entre a imagem
original e a equalizada. Mostre diferenças dos histogramas (original e equalizado) e
explique o processamento realizado pela equalização.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 11 Prof. Charles Way Hun Fung, MSc
FILTRAGEM ESPACIAL
Linha horizontal −1 −1 −1
2 2 2
−1 −1 −1
Linha vertical −1 2 −1
−1 2 −1
−1 2 −1
Linha 45° 2 −1 −1
−1 2 −1
−1 −1 2
Linha -45° −1 −1 2
−1 2 −1
2 −1 −1
Borda – Roberts −1 0
ou
0 −1
0 1 1 0
Borda – Prewitt −1 −1 −1 −1 0 1
0 0 0 ou −1 0 1
1 1 1 −1 0 1
Borda – Sobel −1 −2 −1 −1 0 1
0 0 0 ou −2 0 2
1 2 1 −1 0 1
Atividade Prática de Processamento de Imagens 12 Prof. Charles Way Hun Fung, MSc
Exercícios de Filtragem Espacial:
Para resolver estes exercícios faça a leitura das imagens jetplane.tif e walkbridge.tif usando o
comando imread. Em todos os exercícios mostre o código, imagens resultantes e apresente
explicações.
4. Em ambas imagens aplique um filtro para detecção de pontos isolados. Para isto
procure uma máscara e utilize conv2 para aplicar o filtro na imagem. Explique o que
aconteceu com a imagem resultante, quais detalhes foram enfatizados com este
processamento?
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 13 Prof. Charles Way Hun Fung, MSc
5. Em ambas imagens aplique os filtros para detecção de linha: horizontal, vertical, 45° e
-45°. Para isto procure uma máscara para cada filtro (tabela anterior) e utilize conv2
para aplicar o filtro na imagem. Plote o resultado e explique o que aconteceu com a
imagem.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 14 Prof. Charles Way Hun Fung, MSc
6. Em ambas imagens aplique os filtros para detecção de borda: Roberts, Prewitt, Sobel.
Para isto procure uma máscara para cada filtro e utilize conv2 para aplicar o filtro na
imagem. Plote o resultado e explique o que aconteceu com a imagem.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 15 Prof. Charles Way Hun Fung, MSc
7. Procure na literatura por outro filtro de borda que não foi apresentado no material da
disciplina, apresente sua máscara e explique seu funcionamento, características e a
apresente a bibliografia da qual foi retirado este método.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 16 Prof. Charles Way Hun Fung, MSc
MODELO DE CORES
Nossos olhos possuem diversas células para detecção tanto de intensidade ou brilho de um
objeto, como sua crominância. A percepção de cores depende da reflexão da luz em objetos, estes
refletem e absorvem a luz recebida. A luz percebida é a refletida dos objetos da cena. Entretanto
nem toda a energia luminosa pode ser convertida em cores para nossos olhos, apenas uma pequena
faixa de luzes pode ser vista, as que possuem comprimento de onda de 400 a 700 nm.
No Scilab, quando é feita uma leitura de uma imagem colorida, está possui uma componente
a mais. Pode-se demonstrar usando a função size na imagem:
Outro processamento interessante com cores é separar inteiramente as cores nos respectivos
componentes R, G e B.
Para isto, zera-se duas das componentes e se mantêm apenas uma, a seguir um exemplo:
Atividade Prática de Processamento de Imagens 17 Prof. Charles Way Hun Fung, MSc
Para aplicar um filtro em uma imagem colorida, basta aplicar nas três componentes de cor. A
seguir um exemplo da aplicação de um filtro de mediana.
Para resolver estes exercícios faça a leitura das imagens baboo_colorido.tif, jupiter.tif e
lena_colorida.tif usando o comando imread. Em todos os exercícios mostre o código, imagens
resultantes e apresente explicações.
Atividade Prática de Processamento de Imagens 18 Prof. Charles Way Hun Fung, MSc
8. Separe as componentes de cor R, G e B da imagem baboo_colorido.tif. Explique o que
significa regiões mais claras nestas imagens.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 19 Prof. Charles Way Hun Fung, MSc
9. Converta a imagem lena_colorida.tif para o modelo CMY, separe suas componentes (C,
M e Y).
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 20 Prof. Charles Way Hun Fung, MSc
10. Converta a imagem jupiter.tif para HSI, usando o comando rgb2hsv. Veja cada uma
das componentes deste modelo: 1: Intensidade, 2: Saturação, 3: Matiz. O que cada
uma destas componentes significa e qual o benefício de utilizar este modelo de
cor?
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 21 Prof. Charles Way Hun Fung, MSc
11. Separe inteiramente a componente de cor vermelha da imagem baboo_colorido.tif.
Qual a diferença entre este processamento e aquele realizado no exercício 8?
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 22 Prof. Charles Way Hun Fung, MSc
TRANSFORMAÇÕES GEOMÉTRICAS
Neste exemplo a função imresize utilizou um fator de escala igual a 2, por isso as dimensões
da imagem dobraram em linhas e colunas.
Rotação:
Consiste em rotacionar a imagem em um determinado ângulo arbitrário, podendo a rotação
ser horária ou anti-horária.
A função no Scilab utilizada para fazer este processamento é:
imrotate(imagem, ângulo_de_rotação)
Onde o ângulo de rotação é o ângulo que se deseja rotacionar a imagem em graus.
Exemplo do uso desta função:
Atividade Prática de Processamento de Imagens 23 Prof. Charles Way Hun Fung, MSc
Figura 16: Exemplo de rotação.
Corte:
Consiste em cortar uma região da imagem produzindo uma sub-imagem.
A função do Scilab que realizam o corte são: imcrop e imcropm.
imcrop(imagem, [x1, y1, x2, y2])
Onde as coordenadas (x1, y1) e (x2, y2) determinam os vértices extremos de um retângulo
que define o corte na imagem.
Exemplo de imcrop:
imcropm(imagem)
A função imcropm abre a imagem e deixa a possibilidade do próprio usuário determinar o
tamanho do corte, clicando no ponto esquerda superior e depois na direita inferior do retângulo de
corte. A região de corte ficará com um retângulo vermelho na imagem apresentada. O retorno da
função é o corte da imagem.
Exemplo usando imcropm:
Atividade Prática de Processamento de Imagens 24 Prof. Charles Way Hun Fung, MSc
Figura 18: Exemplo de corte usando imcropm.
Espelhamento:
A operação de espelhamento consiste em rebater a imagem em um determinado eixo.
Não tem função pronto no SciLab, mas tem uma forma de fazer, suponha que a variável “im”
com uma imagem já carregada:
Espelhamento horizontal:
im2 = im(:,$:-1:1);
Espelhamento vertical:
im3 = im($:-1:1,:);
Espelhamento vertical e horizontal:
im4 = im($:-1:1, $:-1:1);
Atividade Prática de Processamento de Imagens 25 Prof. Charles Way Hun Fung, MSc
Exercícios de Transformações Geométricas:
Para resolver estes exercícios faça a leitura das imagens baboo.tif e pimentas.tif usando o
comando imread. Em todos os exercícios mostre o código, imagens resultantes e apresente
explicações.
12. Realize três mudanças de escala na imagem baboo.tif, usando imresize, com as
imagens: 2, 0.5 e 0.1. Mostre as imagens resultantes, utilizando o comando size
explique a diferença entre estas imagens.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 26 Prof. Charles Way Hun Fung, MSc
13. Reduza pela metade a escala da imagem pimentas.tif (fator de escala = 0.5) pelo
menos três vezes. A qualidade da imagem continua a mesma?
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 27 Prof. Charles Way Hun Fung, MSc
14. Use a imagem pimentas.tif para usar a função imrotate, a rotação em sentido
horário acontece com valores positivos ou negativos, mostre exemplos desta
rotação (Pelo menos 4 ângulos diferentes).
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 28 Prof. Charles Way Hun Fung, MSc
15. Aplique as duas funções de corte em uma imagem a sua escolha. A imagem
resultante da função imcrop será chamada de imagemA e a imagem resultante da
função imcropm será chamada de imagemB.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 29 Prof. Charles Way Hun Fung, MSc
16. Realize um espelhamento horizontal na imagemA e um espelhamento vertical na
imagemB.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 30 Prof. Charles Way Hun Fung, MSc
MORFOLOGIA MATEMÁTICA
Erosão:
Esta operação consiste em passar por toda a extensão da imagem com o elemento
estruturante, considera-se parte do resultado apenas quando todos os pontos do elemento
estruturante realizam a operação com a imagem.
Definida matematicamente por:
Atividade Prática de Processamento de Imagens 31 Prof. Charles Way Hun Fung, MSc
No Scilab a função imerode é usada para realizar esta operação:
O resultado da corrosão:
Dilatação:
Esta é a contrária da erosão, ou seja, “aumenta” ou “engrossa” os objetos em uma imagem
binária. As dimensões de alargamento e formatos depois da operação estão vinculadas ao elemento
estruturante utilizado.
Definida matematicamente por:
O resultado da dilatação:
Atividade Prática de Processamento de Imagens 32 Prof. Charles Way Hun Fung, MSc
Figura 27: Imagem dilatada.
Abertura e Fechamento:
Estas duas operações são compostas pelas duas anteriores com o objetivo de suavizar
contornos, porém cada uma tem sua particularidade. A abertura elimina saliências finas, enquanto o
fechamento funde descontinuidades estreitas e preenche lacunas em um contorno (Gonzalez, 2010).
A operação de Abertura é definida como:
Para resolver estes exercícios faça a leitura das imagens retangulo.tif, texto.tif, U.tif e digital.tif
usando o comando imread. Em todos os exercícios mostre o código, imagens resultantes e
apresente explicações.
Atividade Prática de Processamento de Imagens 33 Prof. Charles Way Hun Fung, MSc
17. A imagem retangulo.tif deve resultar no mais próximo possível de um retângulo
branco sem nenhum artefato dentro ou fora do mesmo. Utilize apenas operações
para resolver este problema.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 34 Prof. Charles Way Hun Fung, MSc
18. Na imagem texto.tif deve-se obter o texto nítido. Para isto, utilize operações de
dilatação e erosão. O critério para verificar a nitidez do texto é quando as falhas nas
letras deixarem de existir.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 35 Prof. Charles Way Hun Fung, MSc
19. Encontre as bordas da imagem U.tif utilizando apenas operações morfológicas.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 36 Prof. Charles Way Hun Fung, MSc
20. A imagem digital.tif é de uma impressão digital com ruído, realize operações
morfológicas para retirar o ruído e realçar os traços da digital nesta imagem.
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 37 Prof. Charles Way Hun Fung, MSc