Buscar

AP_PROCESSAMENTO DE IMAGENS

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 23 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 23 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 23 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
CADERNO DE RESOLUÇÃO DA ATIVIDADE PRÁTICA
LUCAS BOTELHO FERREIRA
2023
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:
lucas_imagem3 = imread('lena_color_256.tif');
lucas_imagem3_cinza = rgb2gray(lucas_imagem3);
[qtd3,niveis] = imhist(lucas_imagem3_cinza);
subplot(211)
imshow(lucas_imagem3_cinza)
subplot(212)
plot2d3(niveis,qtd3)
II) Apresentação das Imagens Resultantes:
Figura 1: Histograma e imagem em tons de cinza.
III) Explicação:
Nesta análise, estamos examinando o
histograma de uma imagem denominada
"lena_color_256.tif," que foi converteda em
escala de cinza através do comando
"rgb2gray." A representação visual da
imagem mostra uma predominância de tons
de cinza mais sombrios, com a maioria dos
pixels agrupados na faixa de valores
compreendida entre 30 e 150. Observa-se
também uma presença menos significativa
de pixels na faixa de 150 a 220,
correspondendo à região mais clara da
imagem.
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:
lucas_imagem1 = imread('cameraman.tif');
lucas_imagem2 = imread('house.tif');
lucas_imagem3 = imread('lena_color_256.tif');
lucas_imagem3_cinza = rgb2gray(lucas_imagem3);
[qtd1,niveis] = imhist(lucas_imagem1);
[qtd2,niveis] = imhist(lucas_imagem2);
[qtd3,niveis] = imhist(lucas_imagem3_cinza);
subplot(321)
imshow(lucas_imagem1)
subplot(322)
plot2d3(niveis,qtd1)
subplot(323)
imshow(lucas_imagem2)
subplot(324)
plot2d3(niveis,qtd2)
subplot(325)
imshow(lucas_imagem3_cinza)
subplot(326)
plot2d3(niveis,qtd3)
II) Apresentação das Imagens Resultantes:
Figura 2: Histograma das imagens.
III) Explicação:
Neste conjunto de
representações, estamos exibindo
três imagens juntamente com seus
respectivos histogramas em um
subplot. Na primeira imagem,
notamos uma notável concentração
de mais de 6000 pixels em tons
extremamente sombrios, quase
alcançando o preto. Além disso,
observamos outra concentração na
faixa de tons de cinza entre 100 e
200, com um pico significativo com
mais de 5000 pixels em torno do
valor 170. A maioria da imagem é
predominantemente composta por
pixels nessa faixa de tons de cinza.
Na segunda imagem, destaca-se um
pico de mais de 70000 pixels na faixa
de tons de cinza mais claros,
aproximadamente no valor de 210,
com uma presença mínima de tons
de cinza mais escuros na faixa de
valores entre 50 e 120. Quanto à
terceira imagem, observa-se uma
quantidade considerável de pixels
em tons de cinza mais escuros, com
picos entre os valores de 30 e 150,
havendo uma quantidade menor na
faixa de 150 a 220, que corresponde
à parte mais clara da imagem.
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:
lucas_imagem1 = imread('cameraman.tif');
lucas_imagem1_eq = imhistequal(lucas_imagem1);
[qtd1_eq,niveis1_eq] = imhist(lucas_imagem1_eq);
subplot(221)
imshow(lucas_imagem1_eq)
subplot(222)
plot2d3(niveis1_eq,qtd1_eq)
subplot(223)
imshow(lucas_imagem1)
subplot(224)
plot2d3(niveis,qtd1)
II) Apresentação das Imagens Resultantes:
Figura 3: Equalização de imagem.
III) Explicação:
Neste exercício, implementamos a
equalização de histogramas na imagem
"cameraman.tif." Como resultado, a
imagem sofreu uma melhoria na
luminosidade, e a análise do histograma
demonstrou uma distribuição mais
equitativa dos tons de cinza. Agora,
encontramos uma ampliação no número de
pixels na faixa de valores entre 150 e 250,
ao passo que na imagem original, a
concentração de pixels nesta faixa se
limitava a aproximadamente 200.
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:
mascara_ponto = [1 1 1; 1 -8 1; 1 1 1]
lucas_imagem1 = imread('jetplane.tif');
lucas_imagem2 = imread('walkbridge.tif');
lucas_imagem1_real = double(lucas_imagem1);
lucas_imagem2_real = double(lucas_imagem2);
resultado1_ponto = conv2(lucas_imagem1_real,mascara_ponto);
resultado2_ponto = conv2(lucas_imagem2_real,mascara_ponto);
subplot(221)
imshow(lucas_imagem1)
subplot(222)
imshow(resultado1_ponto)
subplot(223)
imshow(lucas_imagem2)
subplot(224)
imshow(resultado2_ponto)
II) Apresentação das Imagens Resultantes:
Figura 4: Filtro de detecção de pontos isolados.
III) Explicação:
O emprego de um filtro
para destacar pontos simplifica a
percepção das formas curvas na
imagem, criando um contraste
com a imagem original, que é
predominantemente composta
por linhas. Essa aplicação do filtro
facilita a identificação de bordas e
segmentos retos nas imagens,
tornando o processo de análise
mais eficiente.
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:
mask_hor = [-1 -1 -1; 2 2 2; -1 -1 -1];
mask_45 = [2 -1 -1; -1 2 -1; -1 -1 2];
mask_ver = [-1 2 -1; -1 2 -1; -1 2 -1];
mask_45neg = [-1 -1 2; -1 2 -1; 2 -1 -1];
lucas_imagem1 = imread('jetplane.tif');
lucas_imagem2 = imread('walkbridge.tif');
lucas_imagem1_real = double(lucas_imagem1);
lucas_imagem2_real = double(lucas_imagem2);
res1_hor = conv2(lucas_imagem1_real,mask_hor);
res1_45 = conv2(lucas_imagem1_real,mask_45);
res1_ver = conv2(lucas_imagem1_real, mask_ver);
res1_45neg = conv2(lucas_imagem1_real,mask_45neg);
res2_hor = conv2(lucas_imagem2_real,mask_hor);
res2_45 = conv2(lucas_imagem2_real,mask_45);
res2_ver = conv2(lucas_imagem2_real, mask_ver);
res2_45neg = conv2(lucas_imagem2_real,mask_45neg);
subplot (221)
imshow(res1_hor)
title('Horizontal')
subplot(222)
imshow(res1_ver)
title('Vertical')
subplot(223)
imshow(res1_45)
title('45º')
subplot(224)
imshow(res1_45neg)
title('-45º')
subplot (221)
imshow(res2_hor)
title('Horizontal')
subplot(222)
imshow(res2_ver)
title('Vertical')
subplot(223)
imshow(res2_45)
title('45º')
subplot(224)
imshow(res2_45neg)
title('-45º')
Atividade Prática de Processamento de Imagens 6 Prof. Charles Way Hun Fung, MSc
II) Apresentação das Imagens Resultantes:
Figura 5: Filtros de detecção de linha.
Figura 6: F iltros de detecção de linha.
III) Explicação:
A habilidade de detectar linhas é
altamente especializada, tornando-se
altamente orientada em relação à
direção das linhas. Isso implica que a
identificação não se limita apenas a
linhas horizontais e verticais, mas
também abrange linhas diagonais,
incluindo aquelas com inclinações de 45
graus e -45 graus. Esse aspecto amplia
consideravelmente a variedade de linhas
que podem ser reconhecidas.
Atividade Prática de Processamento de Imagens 8 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 resultadoe explique o que aconteceu com a imagem.
I) Apresentação do Código:
mascara_Roberts = [-1 0; 0 1]
mascara_Prewitt = [-1 -1 -1; 0 0 0; 1 1 1]
mascara_Sobel = [-1 -2 -1; 0 0 0; 1 2 1]
lucas_imagem1 = imread('jetplane.tif');
lucas_imagem2 = imread('walkbridge.tif');lucas_imagem1_real = double(lucas_imagem1);
lucas_imagem2_real = double(lucas_imagem2);
resultado1_Sobel = conv2(lucas_imagem1_real,mascara_Sobel);
resultado1_Prewitt = conv2(lucas_imagem1_real,mascara_Prewitt);
resultado1_Roberts = conv2(lucas_imagem1_real,mascara_Roberts);
resultado2_Prewitt = conv2(lucas_imagem2_real,mascara_Prewitt);
resultado2_Sobel = conv2(lucas_imagem2_real,mascara_Sobel);
resultado2_Roberts = conv2(lucas_imagem2_real,mascara_Roberts);
subplot(231)
imshow(resultado1_Prewitt)
title('Prewitt')
subplot(232)
imshow(resultado1_Roberts)
title('Roberts')
subplot(233)
imshow(resultado1_Sobel)
title('Sobel')
subplot(234)
imshow(resultado2_Prewitt)
title('Prewitt')
subplot(235)
imshow(resultado2_Roberts)
title('Roberts')
subplot(236)
imshow(resultado2_Sobel)
title('Sobel')
Atividade Prática de Processamento de Imagens 8 Prof. Charles Way Hun Fung, MSc
II) Apresentação das Imagens Resultantes:
Figura 7: Filtros de detecção de bordas.
III) Explicação:
Neste exercício,
procedemos com a
operação de
convolução
bidimensional nas
imagens "jetplane.tif" e
"walkbridge.tif" usando
as máscaras dos
detectores de borda
Roberts, Prewitt e
Sobel. Como resultado,
as imagens
processadas destacam
de maneira mais
acentuada as linhas e
pontos presentes nas
imagens originais,
intensificando, assim,
as características das
bordas. Isso contribui
para tornar as bordas
mais visíveis e
claramente
distinguíveis nas
imagens.
Atividade Prática de Processamento de Imagens 9 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 retiradoeste método.
I) Apresentação do Código:
mascara_Laplaciano = [0 -1 0; -1 4 -1; 0-1 0]
lucas_imagem1 = imread('jetplane.tif');
lucas_imagem2 = imread('walkbridge.tif');
lucas_imagem1_real = double(lucas_imagem1);
lucas_imagem2_real = double(lucas_imagem2);
res1_Laplaciano = conv2(lucas_imagem1_real, mascara_Laplaciano);
res2_Laplaciano = conv2(lucas_imagem2_real, mascara_Laplaciano);
subplot(221)
imshow(lucas_imagem1)
subplot(222)
imshow(res1_Laplaciano)
subplot(223)
imshow(lucas_imagem2)
subplot(224)
imshow(res2_Laplaciano)
II) Apresentação das Imagens Resultantes:
Figura 8: Filtro Laplaciano.
III) Explicação:
O filtro Laplaciano representa uma
ferramenta de aprimoramento de imagens
que se vale de derivadas de segunda ordem
com o objetivo de proporcionar uma resposta
mais nítida e destacar detalhes refinados,
como pontos isolados e linhas. Além disso,
desempenha um papel fundamental na
detecção de bordas em imagens, consolidando
-se como uma contribuição relevante para o
domínio do processamento de imagens e visão
computacional. No entanto, é crucial estar
atento ao fato de que o filtro Laplaciano tem a
capacidade de acentuar ruídos indesejados na
imagem, potencialmente gerando uma textura
mais granulada. Portanto, é de suma
importância que os parâmetros do filtro sejam
ajustados com precisão, visando alcançar os
melhores resultados possíveis. Em resumo, o
filtro Laplaciano é uma ferramenta robusta
para realçar detalhes sutis e identificar bordas
em imagens, mas seu uso demanda habilidade
e conhecimento a fim de evitar possíveis
artefatos indesejados na imagem final.
Atividade Prática de Processamento de Imagens 10 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:
lucas_imagem1 = imread('baboo_colorido.tif');
R = lucas_imagem1(:,:,1);
G = lucas_imagem1(:,:,2);
B = lucas_imagem1(:,:,3);
subplot(221)
imshow(lucas_imagem1)
title('Original')
subplot(222)
imshow(R)
title('Red')
subplot(223)
imshow(G)
title('Green')
subplot(224)
imshow(B)
title('Blue')
II) Apresentação das Imagens Resultantes:
Figura 9: Separação de cores.
III) Explicação:
As imagens vizinhas ilustram
as componentes da imagem
"baboo_colorido.tif". Em regiões de
brilho elevado, notamos que essa
componente inclui pixels com
valores aproximados de 255,
denotando tons mais claros, ao passo
que nas áreas mais escuras,
detectamos regiões onde os valores
dos pixels tendem a ser mais baixos,
aproximando-se de zero, resultando
em tons mais escuros na imagem.
Estas discrepâncias nas tonalidades
desempenham um papel
fundamental na interpretação das
características da imagem.
Atividade Prática de Processamento de Imagens 11 Prof. Charles Way Hun Fung, MSc
9. Convertaa imagem lena_colorida.tif para o modelo CMY, separe suas componentes (C, M e
Y).
I) Apresentação do Código:
lucas_imagem3 = imread('lena_colorida.tif');
CMY = imcomplement(lucas_imagem3);
C = CMY (:,:,1);
M = CMY (:,:,2);
Y = CMY (:,:,3);
subplot(221)
imshow(CMY)
title('CMY')
subplot(222)
imshow(C)
title('C')
subplot(223)
imshow(M)
title('M')
subplot(224)
imshow(Y)
title('Y')
II) Apresentação das Imagens Resultantes:
Figura 10: Conversão para o modelo CMY.
III) Explicação:
Quando a imagem
"Lena_colorida.tif" é convertida para o
modelo de cores CMY (ciano, magenta
e amarelo), é evidente a notável
distinção entre os pigmentos ciano e
amarelo. No entanto, a presença do
pigmento magenta é quase
imperceptível, devido à escassez de
pontos na imagem que o representam.
Essa transformação ressalta
claramente a predominância das cores
ciano e amarelo na imagem, enquanto
o magenta desempenha um papel
bastante discreto.
Atividade Prática de Processamento de Imagens 12 Prof. Charles Way Hun Fung, MSc
10. Converta a imagemjupiter.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:
lucas_imagem2 = imread('jupiter.tif');
HSI = rgb2hsv(lucas_imagem2);
hue = HSI (:,:,1);
sat = HSI (:,:,2);
value = HSI (:,:,3);
subplot (221)
imshow(HSI)
title(‘HSI’)
subplot(222)
imshow(hue)
title('Hue')
subplot(223)
imshow(sat)
title('Sat')
subplot(224)
imshow(value)
title('Value')
II) Apresentação das Imagens Resultantes:
Figura 11: Conversão para HSI.
III) Explicação:
Os componentes de Matiz,
Saturação e Intensidade foram
representados. A Intensidade,
também chamada de brilho,
representa a percepção subjetiva da
luminosidade, isolada da influência
da cor. A Saturação expressa o grau
de pureza de uma cor, ou seja, quão
vívida ou suavizada a cor aparece
quando combinada com a luz branca.
Por fim, a Matiz descreve a cor em
sua forma mais elementar e pura,
independente do brilho ou da
saturação. Esses atributos
desempenham um papel
fundamental na compreensão das
características cromáticas nas
imagens.
Atividade Prática de Processamento de Imagens 13 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 processamentoe aquele realizado no exercício 8?
I) Apresentação do Código:
lucas_imagem1 = imread('baboo_colorido.tif');
baboo_vermelho = lucas_imagem1;
baboo_vermelho(:,:,[2 3])=0;
imshow(baboo_vermelho)
II) Apresentação das Imagens Resultantes:
Figura 12: Separação para a cor
vermelha.
III) Explicação:
Neste contexto, as informações contidas nas
componentes verde e azul da imagem foram
excluídas, diferentemente do exercício anterior
(Exercício 8) no qual cada componente foi analisada
separadamente e representada como uma matriz
em tons de cinza. A supressão das componentes
verde e azul leva à representação da imagem
baseada exclusivamente na componente vermelha,
o que causa uma alteração significativa na aparência
e nas características cromáticas da imagem original.
Atividade Prática de Processamento de Imagens 14 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:
lucas_imagem1=imread('Baboo.tif');
size(lucas_imagem1);
res1_2=imresize(lucas_imagem1,2);
res2_05=imresize(lucas_imagem1,0.5);
res3_01=imresize(lucas_imagem1,0.1);
subplot(221)
imshow(lucas_imagem1)
title('original')
subplot(222)
imshow(res1_2)
title('2')
subplot(223)
imshow(res2_05)
title('0.5')
subplot(224)
imshow(res3_01)
title('0.1')
II) Apresentação das Imagens Resultantes:
Figura 13: Mudanças de escala.
III) Explicação:
Ao observar a segunda
representação, fica evidente a
notável distinção entre a imagem
ampliada em duas vezes em
relação à original, destacando um
aumento no tamanho e na nitidez
dos detalhes. Já na última figura,
é perceptível a redução da
imagem para apenas 10% de seu
tamanho original, o que resulta
em uma imagem
consideravelmente menor e com
uma notável perda de detalhes e
resolução. A função "imresize"
emerge como uma ferramenta
inestimável para controlar as
dimensões das imagens de acordo
com as necessidades de
visualização ou processamento.
Atividade Prática de Processamento de Imagens 15 Prof. Charles Way Hun Fung, MSc
13. Reduza pela metade a escala da imagem pimentas.tif (fator de escala = 0.5) pelo
menostrês vezes. A qualidade da imagem continua a mesma?
I) Apresentação do Código:
lucas_imagem2=imread('Pimentas.tif');
size(lucas_imagem2);
resultado1=imresize(lucas_imagem2,0.5);
resultado2=imresize(resultado1,0.5);
resultado3=imresize(resultado2,0.5);
subplot(221)
imshow(lucas_imagem2)
subplot(222)
imshow(resultado1)
subplot(223)
imshow(resultado2)
subplot(224)
imshow(resultado3)
II) Apresentação das Imagens Resultantes:
Figura 14: Escala reduzida.
III) Explicação:
Quando reduzimos pela metade a
escala da imagem usando uma progressão
exponencial negativa, é notável a
deterioração na qualidade visual das
imagens resultantes. Isso implica que à
medida que diminuímos as dimensões da
imagem, ocorre uma perda de detalhes e
uma diminuição na nitidez das informações
visuais. Essa diminuição na qualidade é uma
consequência inerente da redução de escala
e deve ser levada em conta ao ajustar o
tamanho das imagens, a fim de assegurar
que os resultados atendam às necessidades
específicas.
Atividade Prática de Processamento de Imagens 16 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:
lucas_imagem2=imread('Pimentas.tif');
res30=imrotate(lucas_imagem2,30);
res30neg=imrotate(lucas_imagem2,-30);
res125=imrotate(lucas_imagem2,125);
res130neg=imrotate(lucas_imagem2,-130);
subplot(221)
imshow(res30)
subplot(222)
imshow(res30neg)
subplot(223)
imshow(res125)
subplot(224)
imshow(res130neg)
II) Apresentação das Imagens Resultantes:
Figura 15: Imagem rotacionada.
III) Explicação:
É possível efetuar uma rotação
no sentido horário da imagem por
meio da utilização do comando
"imrotate," com a capacidade de
aplicar valores tanto positivos quanto
negativos. Isso implica que temos a
capacidade de ajustar a orientação da
imagem, rodando-a no sentido
horário, e, além disso, podemos definir
os ângulos de rotação de acordo com
as necessidades específicas de
orientação. O comando "imrotate"
revela-se como uma ferramenta
versátil e eficaz para a manipulação
flexível da orientação das imagens.
Atividade Prática de Processamento de Imagens 18 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:
lucas_imagem = imread('baboo.tif');
imagemA = imcrop(lucas_imagem,[10,20,200,300]);
teste_img=imread('baboo.tif');
imagemB=imcropm(teste_img);
subplot(211)
imshow(imagemA)
title('imcrop')
subplot(212)
imshow(imagemB)
title('imcropm')
II) Apresentação das Imagens Resultantes:
Figura 16: Função de corte.
III) Explicação:
O processo de recorte de uma
imagem é executado com o auxílio do
comando "imcrop," no qual você
especifica as seguintes coordenadas
para delimitar a área a ser recortada.
 x1=10
 y1=20
 x2=200
 y2=300
Além disso, a definição de uma área de
recorte precisa é facilmente realizada
através do comando "imcropm,"
conferindo flexibilidade na seleção de
uma região específica na imagem e
permitindo ajustes precisos de corte.
Ambos os comandos se revelam valiosos
para a tarefa de recortar áreas
específicas de uma imagem de acordo
com as necessidades individuais.
Atividade Prática de Processamento de Imagens 18 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:
lucas_imagem = imread('baboo.tif');
imagemA = imcrop(lucas_imagem,[10,20,200,300]);
teste_img=imread('baboo.tif');
imagemB=imcropm(teste_img);
imagemAHor = imagemA(:,$:-1:1);
imagemBVer = imagemB($:-1:1,:);
subplot(211)
imshow(imagemAHor)
subplot(212)
imshow(imagemBVer)
II) Apresentação das Imagens Resultantes:
Figura 17: Espelhamento da imagem.
III) Explicação:
O código em questão tem como objetivo
realizar um espelhamento horizontal na
imagem "imagemA" e um espelhamento
vertical na imagem "imagemB". Começa-se
carregando a imagem original "baboo.tif" em
"lucas_imagem". Em seguida, define-se a
região de interesse de "imagemA" usando
"imcrop," especificando as coordenadas de
recorte como [10,20,200,300]. Isso resulta em
"imagemA" representando uma parte da
imagem original. Para "imagemB," utiliza-se
uma abordagem diferente, aplicando
"imcropm" na imagem de teste "teste_img" e
definindo "imagemB" como uma região de
interesse na imagem original. Os comandos
"imagemAHor = imagemA(:,end:-1:1);" e
"imagemBVer = imagemB(end:-1:1,:);"
realizam o espelhamento horizontal em
"imagemA" e o espelhamento vertical em
"imagemB," respectivamente. As duas
imagens espelhadas resultantes são exibidas
em um subplot, demonstrando o efeito do
espelhamento. Consequentemente,
"imagemAHor" representa a imagem
"imagemA" com espelhamento horizontal, e
"imagemBVer" é a imagem "imagemB" com
espelhamento vertical. O resultado são
imagens em orientações opostas, criando
versões refletidas das imagens originais,
tanto horizontal quanto verticalmente,
proporcionando uma visão inversa das
mesmas.
Atividade Prática de Processamento de Imagens 19 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
resolvereste problema.
I) Apresentação do Código:
lucas_imagem2 = imread('retangulo.tif');
lucas_imagem2 = zeros(10,10);
lucas_imagem2(4:7,4:7)=1;
imshow(lucas_imagem2)
II) Apresentação das Imagens Resultantes:
Figura 18: Matriz obtida.
III) Explicação:
O processo resulta na imagem
desejada, minimizando as interferências
tanto internas quanto externas, de acordo
com o enunciado. O código começa
carregando a imagem "retangulo.tif" na
variável "lucas_imagem2" e, em seguida,
substitui a imagem original por uma matriz
preta de 10x10 pixels. A seguir, a matriz é
preenchida com um retângulo branco de
4x4 pixels no centro, onde os valores são
definidos como 1 na região de (4,4) a (7,7).
Isso gera uma representação visual de um
retângulo branco em um fundo preto. Por
fim, a função "imshow(lucas_imagem2)"
exibe essa matriz como uma imagem,
criando o retângulo branco no centro da
imagem preta, atendendo à solicitação de
mínimas interferências internas e
externas.
Atividade Prática de Processamento de Imagens 20 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:
lucas_imagem=imread('texto.tif');
lucas_imagem(4:7,4:7)=1;
ES=imcreatese('rect',3,3);
dilatado=imdilate(lucas_imagem,ES);corroido=imerode(dilatado,ES);
subplot(211)
imshow(lucas_imagem)
subplot(212)
imshow(corroido)
II) Apresentação das Imagens Resultantes:
Figura 19: Dilatação e erosão aplicadas.
III) Explicação:
Graças ao processo de ampliação e
aprimoramento, a imagem adquiriu uma
notável clareza, resultando em uma
representação visual mais aguçada e
facilmente legível. Essa melhoria promove
uma nitidez acentuada e realça os
detalhes, proporcionando uma experiência
visual mais cristalina e definida ao
observador. A ampliação e o refinamento
surgem como técnicas valiosas para elevar
a qualidade e a legibilidade das imagens.
Atividade Prática de Processamento de Imagens 21 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:
lucas_imagem=imread('U.tif');
ES=imcreatese('rect',5,5);
dilatado=imdilate(lucas_imagem,ES);
res=dilatado-lucas_imagem;
subplot(211)
imshow(lucas_imagem)
subplot(212)
imshow(res)
II) Apresentação das Imagens Resultantes:
Figura 20: Resultado das operações morfológicas.
III) Explicação:
A identificação clara das margens na
imagem é notável, isso se deve ao uso
das operações morfológicas. Essas
operações desempenham um papel
fundamental no processamento de
imagens, permitindo realçar bordas,
segmentar objetos e destacar
características de interesse, resultando
na tornando o conteúdo mais
compreensível e facilitando a detecção
de elementos-chave. Em particular, elas
desempenham um papel significativo na
melhoria da legibilidade e interpretação
de imagens, especialmente em contextos
como análise de documentos e
reconhecimento de padrões.
Atividade Prática de Processamento de Imagens 22 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ídoe realçar os traços da digital nesta imagem.
I) Apresentação do Código:
lucas_imagem(4:7,4:7)=1;
dilatado=imdilate(corroer,ES);
corroer=imerode(lucas_imagem,ES);
ES=imcreatese('rect',2,2);
lucas_imagem=imread('digital.tif');
subplot(211)
imshow(lucas_imagem)
subplot(212)
imshow(dilatado)
II) Apresentação das Imagens Resultantes:
Figura 21: Resultado das operações
morfológicas.
III) Explicação:
Após conduzir uma série de experimentos
com vários elementos estruturais, ficou evidente
que o elemento 2x2 mostrou o desempenho mais
eficiente. Esse achado enfatiza a importância da
escolha criteriosa do elemento estrutural nas
operações morfológicas. O elemento estrutural,
exemplificado pelo 2x2, desempenha um papel
fundamental na maneira como as operações
morfológicas impactam a imagem, influenciando
diretamente a detecção de características, a
segmentação e o realce de elementos específicos.
Assim, a seleção adequada do elemento
estrutural é uma etapa fundamental para
alcançar os resultados desejados na análise e no
processamento de imagens.

Continue navegando