trablaboratorial pdsi 03

8
UniZambeze U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial n o 3 - Operações lógicas, aritméticas e estatísticas com imagens. 24 de agosto de 2022 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 1 de 8

Upload: lucas-misto-nhamizinga

Post on 28-Apr-2015

21 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: TrabLaboratorial PDSI  03

UniZambeze – U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

11 de abril de 2023 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 1 de 6

Page 2: TrabLaboratorial PDSI  03

UniZambeze – U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

1. OBJETIVOS:

1.1 Executar operações lógicas e aritméticas entre imagens.1.2 Obter parâmetros estatísticos de imagens.

2.RESUMO DA TEORIA:

Imagens são matrizes. Portanto, as propriedades de aritmética e álgebra matricial também são válidas para imagens e todas as operações que se pode efetuar com matrizes também podem ser efetuadas com imagens.

Dentre as operações aritméticas que se pode realizar com imagens, veremos as seguintes:‚ Adição‚ Subtração‚ Multiplicação‚ Divisão‚ Diferença absoluta

Dentre as operações lógicas que se pode realizar com imagens, veremos:

‚ AND‚ OR‚ XOR

Para uma visão ampla das aplicações destas operações sobre imagens binarizadas sugerimos o capítulo 7 de [Russ 1995].Dentre os parâmetros estatísticos que se podem extrair de uma imagem, veremos:

‚ Média‚ Desvio padrão

3. PROCEDIMENTO:

3.1. Iniciar o MATLAB.

3.2. Para a primeira parte desta prática trabalharemos com três imagens de mesmo tamanho. Em decorrência disto, inicialmente utilizaremos a função imcrop para criar três imagens de mesmo tamanho (100 x 100), a partir das imagens

trees, kids e forest e utilizaremos as funções

ind2gray e im2bw para gerar suas versões monocromáticas e binarizadas, respectivamente.

rect = [5, 5, 100, 100];load treesY1 = X;map1 = map;Y1 = imcrop(Y1,rect);M1 = ind2gray(Y1, map1);BW1= im2bw(Y1,map1,.5);load kidsY2 = X;

11 de abril de 2023 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 2 de 6

Page 3: TrabLaboratorial PDSI  03

UniZambeze – U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

map2 = map;Y2 = imcrop(Y2,rect);M2 = ind2gray(Y2, map2);BW2=im2bw(Y2,map2,.3);load forestY3 = X;map3 = map;Y3 = imcrop(Y3,rect);M3 = ind2gray(Y3, map3);BW3=im2bw(Y3,map3,.5);

3.3. Para ilustrar a operação de adição, vamos mostrar em uma única janela as imagens BW1, BW2 e BW3 juntamente com os resultados das adições entre elas (BW1+BW2, BW2+BW3, BW1+BW3):

subplot(2,3,1), imshow(BW1,2), title('BW1')subplot(2,3,2), imshow(BW2,2), title('BW2')subplot(2,3,3), imshow(BW3,2), title('BW3')subplot(2,3,4), imshow((BW1+BW2),2), title('BW1+BW2')subplot(2,3,5), imshow((BW1+BW3),2), title('BW1+BW3')subplot(2,3,6), imshow((BW2+BW3),2), title('BW2+BW3')

3.4. Examinar atentamente os resultados, maximizando a janela que contém as seis imagens, e concluir a respeito da adição de imagens binarizadas.

3.5. Analogamente, para ilustrar a operação de subtração, vamos mostrar em uma única janela as imagens BW1, BW2 e BW3 juntamente com os seis possíveis resultados das subtrações entre elas (BW1-BW2, BW2-BW3, BW1-BW3, BW3-BW2, BW2-BW1, BW3-BW1):

subplot(3,3,1), imshow(BW1,2), title('BW1')subplot(3,3,2), imshow(BW2,2), title('BW2')subplot(3,3,3), imshow(BW3,2), title('BW3')subplot(3,3,4), imshow((BW1-BW2),2), title('BW1-BW2')subplot(3,3,5), imshow((BW2-BW1),2), title('BW2-BW1')subplot(3,3,6), imshow((BW3-BW1),2), title('BW3-BW1')subplot(3,3,7), imshow((BW1-BW3),2), title('BW1-BW3')subplot(3,3,8), imshow((BW2-BW3),2), title('BW2-BW3')subplot(3,3,9), imshow((BW3-BW2),2), title('BW3-BW2')

3.6. Examinar atentamente os resultados, maximizando a janela que contém as nove imagens, e concluir a respeito.

3.7. Para exemplificar a adição de imagens monocromáticas, repetiremos o passo 3.3, agoracom as imagens M1, M2 e M3.

subplot(2,3,1), imshow(M1,256), title('M1')subplot(2,3,2), imshow(M2,256), title('M2')subplot(2,3,3), imshow(M3,256), title('M3')subplot(2,3,4), imshow((M1+M2),256), title('M1+M2')subplot(2,3,5), imshow((M1+M3),256), title('M1+M3')subplot(2,3,6), imshow((M2+M3),256), title('M2+M3')

3.8. Examinar atentamente os resultados, maximizando a janela que contém as seis imagens e concluir a respeito.

3.9. Analogamente, efetuar agora as seis subtrações possíveis entre as imagens M1, M2 e M3 eexibir os resultados obtidos, concluindo a respeito. 3

11 de abril de 2023 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 3 de 6

Page 4: TrabLaboratorial PDSI  03

UniZambeze – U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

Solução:

3 Para garantir que os valores resultantes da subtração são coerentes com a teoria e estão contidos nointervalo normalizado [0, 1] utilizamos uma operação de truncamento dos valores negativos, zerando-os.

subplot(3,3,1),imshow(M1,256), title('M1')subplot(3,3,2),imshow(M2,256), title('M2')subplot(3,3,3),imshow(M3,256), title('M3')subplot(3,3,4),imshow((M1-M2).*((M1-M2)>=0),256),title('M1-M2')subplot(3,3,5),imshow((M2-M1).*((M2-M1)>=0),256),title('M2-M1')subplot(3,3,6),imshow((M3-M1).*((M3-M1)>=0),256),title('M3-M1')subplot(3,3,7),imshow((M1-M3).*((M1-M3)>=0),256),title('M1-M3')subplot(3,3,8),imshow((M2-M3).*((M2-M3)>=0),256),title('M2-M3')subplot(3,3,9),imshow((M3-M2).*((M3-M2)>=0),256),title('M3-M2')

3.10. Nesta etapa examinaremos a multiplicação entre imagens monocromáticas. Em geral, quando os níveis de cinza das imagens não estão normalizados, deve-se especificar um fator (<1) para multiplicar pelo resultado da operação de multiplicação, de tal maneira que a imagem resultante possua valores dentro da faixa de níveis de cinza desejada. No MATLAB, entretanto, isto não é necessário, pois as imagens já estão normalizadas em uma faixa de 0 a 1.Notar que a operação utilizada no MATLAB é o produto elemento-por-elemento (denotado pelo símbolo '.*'), pois é isto o que se deseja, não um produto matricial.

subplot(2,3,1), imshow(M1,256), title('M1')subplot(2,3,2), imshow(M2,256), title('M2')subplot(2,3,3), imshow(M3,256), title('M3')subplot(2,3,4), imshow((M1.*M2),256), title('M1*M2')subplot(2,3,5), imshow((M1.*M3),256), title('M1*M3')subplot(2,3,6), imshow((M2.*M3),256), title('M2*M3')

3.11. Examinar os resultados, maximizando a janela que contém as seis imagens, e concluir a respeito da multiplicação de imagens monocromáticas.

3.12. Analogamente ao passo 10, efetuaremos agora a divisão entre os elementos das matrizes M1, M2 e M3, dois a dois. O operador utilizado será './' pelos mesmos motivos mencionados antes para a multiplicação.

subplot(3,3,1), imshow(M1,256), title('M1')subplot(3,3,2), imshow(M2,256), title('M2')subplot(3,3,3), imshow(M3,256), title('M3')subplot(3,3,4), imshow((M1./M2),256), title('M1/M2')subplot(3,3,5), imshow((M2./M1),256), title('M2/M1')subplot(3,3,6), imshow((M3./M1),256), title('M3/M1')subplot(3,3,7), imshow((M1./M3),256), title('M1/M3')subplot(3,3,8), imshow((M2./M3),256), title('M2/M3')subplot(3,3,9), imshow((M3./M2),256), title('M3/M2')

Notar que o MATLAB poderá emitir mensagens de alerta por possíveis tentativas de divisão por zero, que não prejudicam a conclusão da operação ou sua interpretação qualitativa.

3.13. Examinar atentamente os resultados, maximizando a janela que contém as nove imagens e concluir acerca da divisão de imagens monocromáticas.

3.14. Para finalizar nosso estudo de operações aritméticas, ilustraremos o uso da função abs para obtermos a diferença absoluta entre duas imagens, denominando-a pelo nome simbólico DIF.

subplot(3,3,1), imshow(M1,256), title('M1')subplot(3,3,2), imshow(M2,256), title('M2')

11 de abril de 2023 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 4 de 6

Page 5: TrabLaboratorial PDSI  03

UniZambeze – U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

subplot(3,3,3), imshow(M3,256), title('M3')subplot(3,3,4), imshow(abs(M1-M2),256), title('M1 DIF M2')subplot(3,3,5), imshow(abs(M2-M3),256), title('M2 DIF M3')subplot(3,3,6), imshow(abs(M3-M1),256), title('M3 DIF M1')subplot(3,3,7), imshow(abs(M2-M1),256), title('M2 DIF M1')subplot(3,3,8), imshow(abs(M3-M2),256), title('M3 DIF M2')subplot(3,3,9), imshow(abs(M1-M3),256), title('M1 DIF M3')

Os valores das janelas 4 e 7, 5 e 8, 6 e 9, são (ou parecem ser) idênticos dois a dois? Por quê?

3.15. Para exemplificar as operações lógicas entre imagens, tornaremos a utilizar as imagens binarizadas BW1, BW2 e BW3 e os operadores lógicos & (and), | (or) e xor, disponíveis no MATLAB. Faremos isto mostrando seis imagens por janela (as três originais mais os três resultados do uso de um certo operador). Inicialmente para o operador and:

subplot(2,3,1), imshow(BW1,2), title('BW1')subplot(2,3,2), imshow(BW2,2), title('BW2')subplot(2,3,3), imshow(BW3,2), title('BW3')subplot(2,3,4), imshow((BW1&BW2),2), title('BW1 and BW2')subplot(2,3,5), imshow((BW1&BW3),2), title('BW1 and BW3')subplot(2,3,6), imshow((BW2&BW3),2), title('BW2 and BW3')

3.16. Examinar atentamente os resultados, maximizando a janela que contém as seis imagens e concluir a respeito.3.17. Repita os passos 15 e 16, desta vez para o operador or. Solução:

subplot(2,3,4), imshow((BW1|BW2),2), title('BW1 or BW2')subplot(2,3,5), imshow((BW1|BW3),2), title('BW1 or BW3')subplot(2,3,6), imshow((BW2|BW3),2), title('BW2 or BW3')

3.18. Repita os passos 15 e 16, desta vez para o operador xor.Solução:

subplot(2,3,4), imshow((xor(BW1,BW2)),2), title('BW1 xor BW2')subplot(2,3,5), imshow((xor(BW1,BW3)),2), title('BW1 xor BW3')subplot(2,3,6), imshow((xor(BW2,BW3)),2), title('BW2 xor BW3')

3.19. Deixamos como exercício efetuar operações lógicas sobre imagens com múltiplos níveis de cinza, uma vez que o MATLAB não nos permite fazê-lo diretamente (veja a descrição dos operadores &, | e xor no arquivo de ajuda do software).

3.20. O MATLAB permite extrair algumas informações estatísticas sobre o conteúdo de uma imagem. A seguir, verificaremos a média e o desvio padrão de cada uma das três imagens monocromáticas M1, M2 e M3, armazenando os resultados nas variáveis m1, m2, m3, d1, d2 e d3, respectivamente. Anotar os resultados obtidos e concluir a respeito.

m1=mean2(M1)m2=mean2(M2)m3=mean2(M3)d1=std2(M1)d2=std2(M2)d3=std2(M3)

4-DISCUSSÃO DOS RESSULTADOS DO TRABALHO :

11 de abril de 2023 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 5 de 6

Page 6: TrabLaboratorial PDSI  03

UniZambeze – U n i v e r s i d a d e Z a m b e z e Processamento digital de Sinal e Imagem FCT - Faculdade de Ciências e Tecnologia Trabalho Trabalho Laboratorial no 3 - Operações lógicas, aritméticas e estatísticas com imagens.

4.1-Discuta com colegas ou docente os resultados alcançados em cada item antes do relatório escrito.

5 -CONCLUSÕES DO TRABALHO

5.1 Conclua se os resultados são ou não aceitáveis 5.2 Conclua acerca das facilidades ou dificuldades do hardware e software utizados no trabalho.

11 de abril de 2023 - Curso e ano: Engenharia Informatica, 2º ano 4º semestr Docente: Eng. Essitone Lote Gimo pag. 6 de 6