Processamento de Imagens
Atividade Prática
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens 1 Prof. Charles Way Hun Fung, MSc
SUMÁRIO
INFORMAÇÕES SOBRE A ATIVIDADE PRÁTICA ……………………………………………………………….. 2
AVALIAÇÃO DA ATIVIDADE PRÁTICA: ………………………………………………………………………….. 2
OBJETIVOS ……………………………………………………………………………………………………………………. 3
MATERIAL DE CONSULTA……………………………………………………………………………………………….. 4
FORMATO DA RESOLUÇÃO DAS QUESTÕES …………………………………………………………………… 5
APRESENTAÇÃO DO CÓDIGO EM TODAS AS QUESTÕES ……………………………………………. 5
NOMEAÇÃO DAS VARIÁVEIS ………………………………………………………………………………………. 5
FORMATO DA RESOLUÇÃO ………………………………………………………………………………………… 5
ATIVIDADES …………………………………………………………………………………………………………………… 7
Histograma ………………………………………………………………………………………………………………….. 7
Conceitos de Histograma …………………………………………………………………………………………….. 7
Equalização de Histograma …………………………………………………………………………………………. 7
Exercícios de Histograma ……………………………………………………………………………………………. 8
Filtragem Espacial ………………………………………………………………………………………………………. 12
Exercícios de Filtragem Espacial: ……………………………………………………………………………….. 13
Modelo de Cores ………………………………………………………………………………………………………… 17
Exercícios de Modelo de Cores: …………………………………………………………………………………. 18
Transformações Geométricas ………………………………………………………………………………………. 23
Exercícios de Transformações Geométricas: ………………………………………………………………… 26
Morfologia Matemática ………………………………………………………………………………………………… 31
Exercícios de Morfologia Matemática: ………………………………………………………………………….. 33
INFORMAÇÕES SOBRE A ATIVIDADE PRÁTICA
Esta atividade prática é individual, por isso cada aluno deve entregar seu próprio trabalho.
AVALIAÇÃO DA ATIVIDADE PRÁTICA:
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”.
4. O valor das partes da questão:
Parte da Solução
Códigos
Valor
25% do valor da questão
Imagem resultante
Explicação da solução
25% do valor da questão
50% do valor da questão
5. Plágio: É considerado plágio quando se usa um texto exatamente igual a um já
existente. Acima de 5 palavras idênticas e na mesma sequência em uma frase, essa
frase é considerada que foi plagiada. Em um trabalho acadêmico, deve-se ler diversos
textos de referência e reescrever com as suas palavras tudo o que foi entendido. É
possível fazer citação de trechos de um texto, mas mesmo com citação é preciso ter o
cuidado para que o seu trabalho não seja uma cópia idêntica.
Caso seja constatado plágio no trabalho apresentado, este receberá nota ZERO.
6. O aluno deverá entregar em um ARQUIVO ÚNICO NO FORMATO PDF no AVA no ícone
trabalhos.
2
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
OBJETIVOS
1. Utilizar o ambiente matemático SciLab para resolver os problemas propostos sobre os
conteúdos da disciplina de processamento de imagens.
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.
4. Entender o funcionamento de um ambiente matemático: variáveis, vetores, matrizes e
funções.
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
3
MATERIAL DE CONSULTA
Ambiente matemático Scilab. Links importantes:
Manual Scilab:
o https://help.scilab.org/docs/5.3.0/pt_BR/index.html
Introdução ao Scilab:
o http://conteudo.icmc.usp.br/pessoas/francisco/modelagem/aulas/Microsoft%20Po
werPoint%20-%20Introducao.pdf
Apostila do Scilab:
o https://www.ime.unicamp.br/~encpos/VIII_EnCPos/Apostila_Scilab.pdf
4
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
FORMATO DA RESOLUÇÃO DAS QUESTÕES
A atividade prática consiste em diversas questões experimentais que devem seguir um
determinado formato de resposta:
APRESENTAÇÃO DO CÓDIGO EM TODAS AS 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!
NOMEAÇÃO DAS VARIÁVEIS
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
A resolução da questão deve seguir os seguintes passos:
I)
Apresentar código da resolução;
II) Apresentar a imagem resultante;
III) Explicar/Responder o que foi pedido;
Segue o exemplo esperado para resolução dos exercícios desta atividade prática:
5
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 6 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)
II) Apresentação da Imagem
Resultante:
Figura 1: Imagem da Lena em
níveis de cinza.
III) Explicação:
A imagem original colorida, que possuía três componentes
de cor: Vermelho, verde e azul, foi convertida para uma
imagem monocromática (níveis de cinza). O tamanho da
imagem (linhas e colunas) permanece o mesmo, isto pode ser
comprovado utilizando o comando size em ambas imagens:
A Figura 1 mostra a diferença de dimensões entre a
imagem colorida (charles_img) e a imagem monocromática
(charles_gray_img), pode-se perceber que a segunda imagem
possuí apenas duas dimensões, ou seja possuí uma
quantidade de dados menor em relação a primeira imagem.
Caso o aluno não siga essa estrutura de resolução terá sua nota descontada em até 25%!
ATIVIDADES
HISTOGRAMA
Conceitos de Histograma
O histograma de uma imagem consiste em um gráfico, normalmente apresentado em barras,
que apresenta a distribuição dos pixels nos níveis de cinza. Cada barra pode representar uma faixa
de valores de níveis de cinza, quanto maior o número de barras, menor a faixa de valores e maior a
precisão do histograma. A visualização do histograma indica algumas características na imagem,
como contraste e brilho médio.
A Tabela 1 mostra os dados que depois são plotados na Figura 2
Tabela 1 – Distribuição dos pixels da imagem.
Figura 2: Exemplo de Histograma de uma imagem.
O cálculo da probabilidade do pixel é definido por:
�
�(𝑟)=𝑛
𝑛
Equalização de Histograma
(1)
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)
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
7
O que consiste em somar a probabilidade do nível a cada nova iteração. Considerando
o exemplo anterior, podemos calcular a cdf:
s0= pr(r0) = 0,068
s1 = pr(r0) + pr(r1) = 0,068+0,196 = 0,264
s2=0,560; s3=0,769; s4=0,891; s5=0,939; s6=0,972; s7=1;
Em seguida deve-se arredondar os valores s para um múltiplo de 1/7, neste caso:
s0≈0; s1≈2/7; s2≈4/7; s3≈5/7; s4≈6/7; s5≈1; s6≈1; s7≈1;
Este processamento resulta em:
Tabela 2 – Distribuição dos pixels da imagem
depois da equalização.
Figura 3: Exemplo de Histograma de uma Imagem
depois da equalização.
Mais informações sobre este processamento, veja a aula prática 1.
Com base em histograma e na técnica de equalização resolva os exercícios a seguir:
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.
8
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 9 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 4: (COLOCAR LEGENDA
AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 10 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 5: (COLOCAR LEGENDA
AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 11 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 6: (COLOCAR LEGENDA
AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 12 Prof. Charles Way Hun Fung, MSc
FILTRAGEM ESPACIAL
A filtragem espacial consiste na convolução em duas dimensões (função conv2 do Scilab) de
uma máscara pré-determinada e uma imagem. Esta filtragem tem o intuito de dar ênfase a uma
determinada característica da imagem. Pode-se utilizar as máscaras para fazer a detecção de
características específicas como: pontos, linhas ou bordas. A seguir um quadro com os principais
filtros:
Tabela 3 – Máscaras para Filtragem Espacial.
Filtro Máscara
Pontos Isolados 1 1 1
1 −8 1
1 1 1
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
0 1 ou 0 −1
1 0
Borda – Prewitt −1 −1 −1
0 0 0
1 1 1
ou
−1 0 1
−1 0 1
−1 0 1
Borda – Sobel −1 −2 −1
0 0 0
1 2 1
ou
−1 0 1
−2 0 2
−1 0 1
Mais informações sobre este processamento, veja a aula prática 2.
Com base em filtragem espacial, mascaramento e convolução resolva os exercícios a seguir:
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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 7: (COLOCAR LEGENDA
AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
13
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 14 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 8: (COLOCAR LEGENDA
AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 15 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 9: (COLOCAR LEGENDA
AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 16 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 10: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
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:
No código apresentado anteriormente, é mostrado como separar as componentes em
imagens monocromáticas que representam cada uma das componentes do RGB.
A conversão para o modelo CMY, depende de usar o complementar das cores da imagem.
Lembrando que as componentes ciano, magenta e amarelo são complementares ao RGB e são
chamados de pigmentos primários.
A função imcomplement retorna o complemento da imagem colorida, ou seja, a mesma
imagem nos pigmentos primários.
O modelo HSI que é representado por Hue (Matiz), Saturation (Saturação) e Intensity
(intensidade).
Para fazer a conversão usando o Scilab, é usada a função rgb2hsv() como a seguir:
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:
17
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
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.
Com base no processamento de imagens coloridas e modelo de cores resolva os exercícios
a seguir:
Exercícios de Modelo de Cores:
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.
18
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 19 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 11: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 20 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 12: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 21 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 13: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 22 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 14: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
TRANSFORMAÇÕES GEOMÉTRICAS
Transformações geométricas se caracterizam pela modificação da posição espacial do pixel
que compõe a imagem. Estas são implementadas mudando as coordenadas de pixels ou fazendo
uma interpolação da intensidade dos pixels transformados.
Escala:
Consiste em aumentar ou diminuir a resolução da imagem.
Para isto é usada a função:
imresize (imagem, fator_de_escala)
Onde o fator de escala é o quanto se deseja aumentar ou diminuir a imagem.
Exemplo:
Figura 15: Exemplo de escala.
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:
23
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 24 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:
Figura 17: Exemplo de corte usando 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 25 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);
Figura 19: Exemplo de espelhamento.
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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 20: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
26
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 27 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 21: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 28 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 22: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 29 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 23: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 30 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 24: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
MORFOLOGIA MATEMÁTICA
A morfologia matemática consiste em diversas operações com as imagens com base em
teoria dos conjuntos. Estas utilizam um conjunto chamado elemento estruturante para realizar
operações. As operações básicas morfológicas são: Corrosão e dilatação.
Para realizarmos estas operações no SciLab devemos definir a imagem que será usada e o
elemento estruturante. Como exemplo inicial vamos criar uma imagem e um elemento estruturante
utilizando os comandos no terminal do SciLab.
A imagem é definida por:
Figura 25: Imagem de teste.
Apenas os pontos brancos fazem parte da imagem.
Para definir o elemento estruturante é utilizada a função:
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:
31
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
No Scilab a função imerode é usada para realizar esta operação:
O resultado da corrosão:
Figura 26: Imagem corroída.
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:
No Scilab a função imdilate é usada para realizar esta operação:
O resultado da dilatação:
32
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
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:
No Scilab a abertura é representada pela função:
Imagem_abertura = imopen(imagem, elemento_estruturante);
A operação de Fechamento é definida como:
No Scilab o fechamento é representado pela função:
Imagem_fechada = imclose(imagem, elemento_estruturante);
Exercícios de Morfologia Matemática:
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.
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
33
Atividade Prática de Processamento de Imagens 34 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 28: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 29: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
35
Prof. Charles Way Hun Fung, MSc
Atividade Prática de Processamento de Imagens
Atividade Prática de Processamento de Imagens 36 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 30: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 37 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:
(COLOCAR CÓDIGO AQUI)
II) Apresentação das
Imagens Resultantes:
(COLOCAR FIGURAS AQUI)
Figura 31: (COLOCAR
LEGENDA AQUI)
III) Explicação:
(COLOCAR EXPLICAÇÃO AQUI)