Buscar

ATIVIDADE PRÁTICA DIOGO-1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Processamento de Imagens 
 
 
2021 
CADERNO DE RESOLUÇÃO DA ATIVIDADE PRÁTICA 
DIOGO ANDRADE CORDEIRO SILVA 
 
 
 
Atividade Prática de Processamento de Imagens 1 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: 
 
--> im1 = imread('cameraman.tif'); 
--> imshow(im1) 
--> [qtd,nvl] = imhist(im1); 
--> plot2d3(nvl,qtd) 
--> subplot(121) 
--> imshow(im1) 
--> subplot(122) 
--> plot2d3(nvl,qtd) 
 
II) Apresentação das Imagens 
Resultantes: 
 
Figura 1: Imagem Cameraman e seu 
respectivo histograma. 
III) Explicação: 
 
Existe uma concentração de pixels no range de 100 a 
190. Vale pontuar que, no nível 160 existem 
aproximadamente 5000 pixels. Por outro lado, é 
notável que a região mais escura tenha uma 
concentração que ultrapasse os 6000 pixels. 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 2 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: 
 
--> im1 = imread('jetplane.tif'); 
--> [qtd,nvl] = imhist(im1); 
--> subplot(321) 
--> imshow(im1) 
--> subplot(322) 
--> plot2d3(nvl,qtd) 
--> im2 = imread('house.tif'); 
--> [QTD,NVL] = imhist(im2); 
--> subplot(323) 
--> imshow(im2) 
--> subplot(324) 
--> plot2d3(NVL,QTD) 
--> im3 = imread('cameraman.tif'); 
--> [quant,niv] = imhist(im3); 
--> subplot(325) 
--> imshow(im3) 
--> subplot(326) 
--> plot2d3(niv,quant) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 2: Imagens com seus respectivos histogramas. 
III) Explicação: 
 
Na primeira figura no nível 200 existe 
uma quantidade considerável de 8000 
pixels aproximadamente. 
Na segunda figura pode-se perceber 
que há uma grande quantidade de pontos 
com valor igual e próximo ao nível 200, 
isto indica que existem muitos pixels 
claros. Em contrapartida, é notável que 
não possua um grande contraste na 
imagem, porque há outra concentração 
de pixels pela região de nível 100. 
Já na última figura existe uma 
concentração de pixels no range de 100 a 
190. Vale pontuar que, no nível 160 
existem aproximadamente 5000 pixels. 
Por outro lado, é notável que a região 
mais escura tenha uma concentração que 
ultrapasse os 6000 pixels. 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 3 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: 
 
--> im1 = imread('cameraman.tif'); 
--> imEq = imhistequal(im1); 
--> subplot(221) 
--> imshow(im1) 
--> subplot(222) 
--> [qtd,nvl] = imhist(im1); 
--> plot2d3(nvl,qtd) 
--> subplot(223) 
--> imshow(imEq) 
--> [qtd2,nvl2] = imhist(imEq); 
--> subplot(224) 
--> plot2d3(nvl2,qtd2) 
 
II) Apresentação das Imagens Resultantes: 
Figura 3: Equalização Cameraman. 
 
III) Explicação: 
 
A imagem está mais clara, pois 
as quantidades de pixels estão mais 
distribuídas no histograma. Como 
observado nos intervalos de 0 a 40 e 
150 a 250. 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 4 Prof. Charles Way Hun Fung, MSc 
 
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: 
 
--> im1 = imread('jetplane.tif'); 
--> im2 = imread('walkbridge.tif'); 
--> mask = [1,1,1;1,-8,1;1,1,1] 
 mask = 
 1. 1. 1. 
 1. -8. 1. 
 1. 1. 1. 
--> subplot(221) 
--> imshow(im1) 
--> subplot(223) 
--> imshow(im2) 
--> im1 = double(im1); 
--> im2 = double(im2); 
--> res = conv2(im1,mask); 
--> res2 = conv2(im2,mask); 
--> subplot(222) 
--> imshow(res) 
--> subplot(224) 
--> imshow(res2) 
 
II) Apresentação das Imagens Resultantes: 
Figura 4: Filtro detecção de pontos isolados. 
 
III) Explicação: 
 
É fácil perceber as curvas nas imagens 
tratadas. Já que, as imagens originais são 
linhas. Ou seja, o filtro facilita a detecção dos 
contornos e das retas das imagens. 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 5 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: 
 
--> im1 = imread('jetplane.tif'); 
--> im2 = imread('walkbridge.tif'); 
--> mask_hor = [-1 -1 -1;2 2 2; -1 -1 -1] 
 mask_hor = 
 -1. -1. -1. 
 2. 2. 2. 
 -1. -1. -1. 
--> mask_ver = [-1 2 -1; -1 2 -1; -1 2 -1] 
 mask_ver = 
 -1. 2. -1. 
 -1. 2. -1. 
 -1. 2. -1. 
--> mask_45 = [2 -1 -1; -1 2 -1; -1 -1 2] 
 mask_45 = 
 2. -1. -1. 
 -1. 2. -1. 
 -1. -1. 2. 
--> mask_45neg = [-1 -1 2; -1 2 -1; 2 -1 -1] 
 mask_45neg = 
 -1. -1. 2. 
 -1. 2. -1. 
 2. -1. -1. 
--> im1 = double(im1); 
--> im2 = double(im2); 
--> res_hor1 = conv2(mask_hor,im1); 
--> res_ver1 = conv2(mask_ver,im1); 
--> res_45 = conv2(mask_45,im1); 
--> res_45neg = conv2(mask_45neg,im1); 
--> res_hor2 = conv2(mask_hor,im2); 
--> res_ver2 = conv2(mask_ver,im2); 
--> res_45_2 = conv2(mask_45,im2); 
--> res_45neg_2 = conv2(mask_45neg,im2); 
--> subplot(431) 
--> imshow(res_hor1) 
--> subplot(421) 
--> imshow(res_hor1) 
--> subplot(422) 
--> imshow(res_hor2) 
--> subplot(423) 
--> imshow(res_ver1) 
--> subplot(424) 
--> imshow(res_ver2) 
--> subplot(425) 
--> imshow(res_45) 
--> subplot(426) 
--> imshow(res_45_2) 
--> subplot(427) 
--> imshow(res_45neg) 
 
 
 
Atividade Prática de Processamento de Imagens 6 Prof. Charles Way Hun Fung, MSc 
--> subplot(428) 
--> imshow(res_45neg_2) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 5: Filtros detecção de linha (horizontal, vertical, 45° e -45°). 
 
III) Explicação: 
 
A detecção das 
linhas fica nítida para 
a direção da linha 
(horizontal, vertical, 
45° e -45°). 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 7 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: 
--> im1 = imread('jetplane.tif'); 
--> im2 = imread('walkbridge.tif'); 
--> mask_rob = [-1 0; 0 1]; 
--> mask_prew = [-1 -1 -1; 0 0 0; 1 1 1]; 
--> mask_sob = [-1 -2 -1; 0 0 0; 1 2 1]; 
--> im1 = double(im1); 
--> im2 = double(im2); 
--> res_rob1 = conv2(mask_rob,im1); 
--> res_prew1 = conv2(mask_prew,im1); 
--> res_sob1 = conv2(mask_sob,im1); 
--> res_rob2 = conv2(mask_rob,im2); 
--> res_prew2 = conv2(mask_prew,im2); 
--> res_sob2 = conv2(mask_sob,im2); 
--> subplot(321) 
--> imshow(res_rob1) 
--> subplot(322) 
--> imshow(res_rob2) 
--> subplot(323) 
--> imshow(res_prew1) 
--> subplot(324) 
--> imshow(res_prew2) 
--> subplot(325) 
--> imshow(res_sob1) 
--> subplot(326) 
--> imshow(res_sob2) 
II) Apresentação das Imagens Resultantes: 
 
Figura 6: Filtros para detecção de bordas (Roberts, Prewitt e 
Sobel). 
III) Explicação: 
 
Esses filtros realçam as 
bordas independentes do tipo das 
máscaras. Ou seja, elas ficam 
mais visíveis em função dos 
contornos das imagens serem 
mais marcantes nas aplicações 
dos filtros. 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 8 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 suamá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: 
 
 
 
II) Apresentação das 
Imagens Resultantes: 
 
 
 
 
Figura 7: 
 
III) Explicação: 
 
 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 9 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: 
 
--> im1 = imread('baboo_colorido.tif'); 
--> R = im1(:,:,1); 
--> G = im1(:,:,2); 
--> B = im1(:,:,3); 
--> subplot(141) 
--> imshow(im1) 
--> subplot(142) 
--> imshow(R) 
--> subplot(143) 
--> imshow(G) 
--> subplot(144) 
--> imshow(B) 
 
II) Apresentação das Imagens Resultantes: 
Figura 8: Separação das componentes R, G e B (esquerda para 
direita). 
 
III) Explicação: 
 
 
Foram separadas as 
componentes (R, G e B) 
da imagem original, visto 
que cada compoente 
mostra regiões mais 
claras onde a própria 
componente possui 
valores altos, tal como 
que valores baixos são 
retratados com pixels 
escuros. 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 10 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: 
 
--> im1 = imread('lena_colorida.tif'); 
--> cmy = imcomplement(im1); 
--> C = cmy(:,:,1); 
--> M = cmy(:,:,2); 
--> y = cmy(:,:,3); 
--> subplot(141) 
--> imshow(im1) 
--> subplot(142) 
--> imshow(C) 
--> subplot(143) 
--> imshow(M) 
--> subplot(144) 
--> imshow(y) 
 
II) Apresentação das Imagens Resultantes: 
 
 
Figura 9: Conversão para o modelo CMY e separação das componentes 
C, M e Y (esq. p/ dir). 
 
III) Explicação: 
 
 
Conversão do 
modelo RGB para o 
modelo CMY que 
consiste um sistema de 
cores de pigmentos 
primários: ciano, 
magenta e amarelo. 
Vale ressaltar, que 
após separação de 
componentes, a 
tonalidade branca 
representa intensidade 
total, e a tonalidade 
preta representa 
ausência de 
intensidade. 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 11 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: 
 
--> im1 = imread('jupiter.tif'); 
--> HSV = rgb2hsv(im1); 
--> hue = HSV(:,:,1); 
--> sat = HSV(:,:,2); 
--> value = HSV(:,:,3); 
--> subplot(141) 
--> imshow(im1) 
--> subplot(142) 
--> imshow(hue) 
--> subplot(143) 
--> imshow(sat) 
--> subplot(144) 
--> imshow(value) 
 
II) Apresentação das Imagens Resultantes: 
Figura 10: Conversão para HSI (esq. P/ dir.). 
 
III) Explicação: 
 
 
A noção de 
Intensidade luminosa 
de radiação é 
representada pelo 
brilho. Já a Saturação 
se refere à pureza do 
matiz ou ao grau de 
mistura do matiz com 
a luz branca e o Matiz 
representa a cor 
dominante percebida 
pelo observador. 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 12 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: 
 
--> im1 = imread('baboo_colorido.tif'); 
 
--> baboo_vermelho = im1; 
 
--> baboo_vermelho(:,:,[2 3]) = 0; 
 
--> imshow(baboo_vermelho) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 11: Separação da componente de cor vermelha. 
 
III) Explicação: 
 
Na figura 14 as matrizes das 
componentes foram zeradas das 
componentes verde e azul. De forma 
que, a imagem colorida resultante só 
possui a componente vermelha. Por 
outro lado, a imagem do tópico oito 
simplesmente houve a separação das 
componentes (R, G e B) da imagem 
original. 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 13 Prof. Charles Way Hun Fung, MSc 
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: 
 
--> im1 = imread('baboo_colorido.tif'); 
--> f_esc2 = imresize(im1,2); 
--> f_esc05 = imresize(im1,0.5); 
--> f_esc01 = imresize(im1,0.1); 
--> subplot(141) 
--> imshow(im1) 
--> subplot(142) 
--> imshow(f_esc2) 
--> subplot(143) 
--> imshow(f_esc05) 
--> subplot(144) 
--> imshow(f_esc01) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 12: Aplicação do comando imresize (esq. p/ direita - imagem 
original, fator 2, fator 0.5 e fator 0.1). 
 
III) Explicação: 
 
 
É nítido que, quanto 
menor fator de escala, 
menor resolução da 
imagem. Diminuindo 
assim, a qualidade da 
mesma. 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 14 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: 
 
--> im1 = imread('peppers_color.tif'); 
--> f_esc05_1 = imresize(im1,0.5); 
--> f_esc05_2 = imresize(f_esc05_1,0.5); 
--> f_esc05_3 = imresize(f_esc05_2,0.5); 
--> subplot(141) 
--> imshow(im1) 
--> subplot(142) 
--> imshow(f_esc05_1) 
--> subplot(143) 
--> imshow(f_esc05_2) 
--> subplot(144) 
--> imshow(f_esc05_3) 
 
II) Apresentação das Imagens Resultantes: 
Figura 13: Redução de três vezes da escala com fator de meio (esq. p/ dir - 
imagem original, primeira redução, segunda e terceira). 
 
III) Explicação: 
 
Na última 
imagem (esq. p/ 
dir.) fica notório 
que houve perda 
significativa da 
qualidade. 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 15 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: 
 
--> im1 = imread('peppers_color.tif'); 
--> imout1 = imrotate(im1,30); 
--> imout2 = imrotate(im1,60); 
--> imout3 = imrotate(im1,90); 
--> imout4 = imrotate(im1,120); 
--> subplot(151) 
--> imshow(im1) 
--> subplot(152) 
--> imshow(imout1) 
--> subplot(153) 
--> imshow(imout2) 
--> subplot(154) 
--> imshow(imout3) 
--> subplot(155) 
--> imshow(imout4) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 14: Aplicação da função imrotate com os ângulos de 30°, 60°, 90° 
e 120°. 
 
III) Explicação: 
 
É visível no 
código e imagem, 
que quando é 
aplicado ângulos de 
valores positivos, a 
figura rotacionará em 
sentido anti-horário. 
Assim, a rotação em 
sentido horário 
acontecerá com 
valores negativos. 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 16 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: 
 
--> im = imread('blackpanter.jpg'); 
--> imagemA = imcrop(im, [20, 30, 300, 400]); 
--> imagemB = imcropm(im); 
--> subplot(131) 
--> imshow(im) 
--> subplot(132) 
--> imshow(imagemA) 
--> subplot(133) 
--> imshow(imagemB) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 15: Aplicação das funções imcrop e imcropm (esq. p/ dir. - 
imagem original, função imcrop e função imcropm). 
 
III) Explicação: 
 
Foi aplicada a 
função imcrop na 
segunda figura (esq. 
p/ dir.) onde o corte é 
determinado por 
sistemas de 
coordenadas. Por 
outro lado, na terceira 
figura, foi aplicada a 
função imcropm, na 
qual o próprio usuário 
determina o tamanho 
do corte. 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 17 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: 
 
--> im = imread('blackpanter.jpg'); 
--> imagemA = imcrop(im, [20, 30, 300, 400]); 
--> imagemB = imcropm(im); 
--> imhoriz = imagemA(:,$:-1:1); 
--> imvert = imagemB($:-1:1,:); 
--> subplot(141) 
--> imshow(imagemA) 
--> subplot(142) 
--> imshow(imhoriz) 
--> subplot(143) 
--> imshow(imagemB) 
--> subplot(144) 
--> imshow(imvert) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 16: Operação de espelhamento. 
 
III) Explicação: 
 
 
Espelhamento horizontal 
imagemA (segunda imagem 
- esq. p/ dir.) e espelhamento 
vertical imagemB (quarta 
imagem - esq p/ dir.). 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 18 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: 
 
 
 
II) Apresentação das 
Imagens Resultantes: 
 
 
 
 
Figura 17: 
 
III) Explicação: 
 
 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 19 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: 
 
--> ES = imcreatese('rect',3,3); 
--> im = imread('texto.tif'); 
--> dilat = imdilate(im, ES); 
--> corro = imerode(dilat, ES); 
--> subplot(131) 
--> imshow(im) 
--> subplot(132) 
--> imshow(dilat) 
--> subplot(133) 
--> imshow(corro) 
 
II) Apresentação das Imagens Resultantes: 
 
Figura 18: Operações dilatação e erosão. 
 
III) Explicação: 
 
 
Foi aplicada na 
Figura 29 (primeira figura 
- esq. p/ dir.) a operação 
de dilatação seguida da 
erosão. Ou seja, segunda 
figura (dilatação) e 
terceira figura (dilatação 
mais erosão). 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 20 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: 
 
 
 
II) Apresentação das 
Imagens Resultantes: 
 
 
 
 
Figura 19: 
 
III) Explicação: 
 
 
 
 
 
 
 
 
 
 
 
Atividade Prática de Processamento de Imagens 21 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: 
--> im = imread('digital.tif'); 
--> imagemBin = im2bw(im,0.5); 
--> ES = imcreatese('rect',3,3); 
--> dilat = imdilate(imagemBin,ES); 
--> imshow(dilat) 
--> erod = imerode(dilat,ES); 
--> imshow(erod) 
--> subplot(131) 
--> imshow(imagemBin) 
--> subplot(132) 
--> imshow(dilat) 
--> subplot(133) 
--> imshow(erod) 
 
 
II) Apresentação das Imagens Resultantes: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 20: Remoção de ruído. 
III) Explicação: 
 
 
Na figura 31 foi 
utilizado o processo 
de binariazação, 
dilatação, em 
seguida para 
restaurar os dados 
uma erosão e para 
aumentar a região 
de pontos escuros.

Continue navegando