Escolar Documentos
Profissional Documentos
Cultura Documentos
SUMÁRIO
INFORMAÇÕES SOBRE A ATIVIDADE PRÁTICA .......................................................................... 2
OBJETIVOS ..................................................................................................................................... 3
MATERIAL DE CONSULTA.............................................................................................................. 4
ATIVIDADES .................................................................................................................................... 7
Histograma ................................................................................................................................... 7
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”.
Atividade Prática de Processamento de Imagens 1 Prof. Charles Way Hun Fung, MSc
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”.
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.
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.
Atividade Prática de Processamento de Imagens 2 Prof. Charles Way Hun Fung, MSc
4. Entender o funcionamento de um ambiente matemático: variáveis, vetores, matrizes e funções.
MATERIAL DE CONSULTA
Atividade Prática de Processamento de Imagens 3 Prof. Charles Way Hun Fung, MSc
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:
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:
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 4 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:
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
Atividade Prática de Processamento de Imagens 5 Prof. Charles Way Hun Fung, MSc
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.
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)
O que consiste em somar a probabilidade do nível a cada nova iteração. Considerando o exemplo anterior,
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:
Atividade Prática de Processamento de Imagens 6 Prof. Charles Way Hun Fung, MSc
Tabela 2 - Distribuição dos pixels da imagem depois da equalização.
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.
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 7 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 8 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 9 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 0 −1
ou
1 1 0
Borda – Prewitt −1 −1 −1 −1 0 1
0 0 0 ou 0 1
1 1 −1 0 1
1 −1
Borda – Sobel −1 −2 −1 −1 0 1
0 0 0 ou 0 2
1 2 −2 0 1
1 −1
Atividade Prática de Processamento de Imagens 10 Prof. Charles Way Hun Fung, MSc
Mais informações sobre este processamento, veja a aula prática 2.
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:
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 11 Prof. Charles Way Hun Fung, MSc
II) Apresentação das Imagens III) Explicação:
Resultantes:
Atividade Prática de Processamento de Imagens 12 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 13 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 14 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:
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:
Atividade Prática de Processamento de Imagens 15 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.
1.
2. Com base no processamento de imagens coloridas e modelo de cores resolva os exercícios
3. a seguir:
4. Exercícios de Modelo de Cores:
5. 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 16 Prof. Charles Way Hun Fung, MSc
I) Apresentação do Código:
8. (COLOCAR FIGURAS
AQUI)
10. (COLOCAR EXPLICAÇÃO AQUI)
Atividade Prática de Processamento de Imagens 17 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 18 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 19 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 20 Prof. Charles Way Hun Fung, MSc
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:
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 21 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 22 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 23 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:
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 24 Prof. Charles Way Hun Fung, MSc
II) Apresentação das Imagens III) Explicação:
Resultantes:
Atividade Prática de Processamento de Imagens 25 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 26 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 27 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 28 Prof. Charles Way Hun Fung, MSc
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:
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.
Atividade Prática de Processamento de Imagens 29 Prof. Charles Way Hun Fung, MSc
Definida matematicamente por:
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 30 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.
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.
Atividade Prática de Processamento de Imagens 31 Prof. Charles Way Hun Fung, MSc
I) Apresentação do Código:
Atividade Prática de Processamento de Imagens 32 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 33 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 34 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 35 Prof. Charles Way Hun Fung, MSc