O roteiro como a instituição entrega
1 de 5 páginas





ANO
ATIVIDADE PRÁTICA
PROCESSAMENTO DE IMAGENS
INTRODUÇÃO
Olá a todos.
Sejam todos muito bem-vindos!
Esta avaliação foi planejada e preparada para a disciplina de Processamento de Imagens dos Cursos de Engenharia de Computação e Engenharia Elétrica do Centro Universitário Internacional UNINTER.
O objetivo desta atividade é fazer com que você, aluno, desenvolva os conhecimentos teóricos aprendidos nas rotas de maneira práticas. Para o desenvolvimento desta atividade será utilizado software Scilab para implementação dos algoritmos.
Ao longo desse roteiro serão passadas as orientações gerais para realização da avaliação bem como os seus critérios de correção. Na sequência, apresenta-se um exemplo comentado de como se deve ser entregue uma questão. Seguindo o roteiro estarão as práticas a serem realizadas, cada uma delas possui um tema e uma explicação de como deve ser feita e como será avaliada.
No mais, desejo-lhe boa atividade prática em nome do professor da disciplina de Processamento de Imagens.
PRÁTICA 01 - Histograma .................................................................................................. 10 Histograma e equalização ......................................................................................................... 10 PRÁTICA 02 – Transformações geométricas ....................................................................... 12 Arrumar o botão da calculadora ................................................................................................ 12 PRÁTICA 03 – Filtragem Espacial ........................................................................................ 14 Filtragem de ruído .................................................................................................................... 14 PRÁTICA 04 – Morfologia matemática ............................................................................... 15 Realçar os elementos da imagem .............................................................................................. 15 2
ORIENTAÇÕES GERAIS
FORMATO DE ENTREGA
O formato de entrega desejável das práticas desse roteiro, deve estar de acordo com o que é visto na seção “EXEMPLO DE APRESENTAÇÃO DE PRÁTICA”.
Elaborou-se um documento (“Caderno de Resolução de Atividade Prática de Processamento de Imagens.docx”) com o propósito de auxiliar na formatação exigida.
Determina-se que os trabalhos devem ser enviados no formato PDF. Uma vez que formatos .doc ou .docx podem apresentar falhas do tipo na codificação, carregamento ou apresentação de imagens.
CRITÉRIOS DE AVALIAÇÃO
Os critérios de avaliação desse trabalho visam deixar a avaliação o mais justa e transparente possível. Nessa avaliação, cada questão será corrigida individualmente conforme a seguinte equação:
COD + RES + SIM
3 Em que:
N (Nota da Questão): Nota total da questão, podendo variar de 0 até 1,00.
FE (Formato da Entrega): Nota do Formato de Entrega, podendo variar de 0 até 1,00.
IP (Identificação Pessoal): Nota Identificação Pessoal, podendo variar de 0 até 100.
COD (Código): Nota do Código, podendo variar de 0 até 100.
RES (Resposta): Nota da Resposta, podendo variar de 0 até 100.
SIM (Simulação): Nota da Simulação, podendo variar de 0 até 100.
Cada um dos itens/critérios que compõe a equação acima será detalhado nas subseções a seguir. Se mesmo assim houver dúvidas, não hesite em perguntar. O desconhecimento dos critérios não será aceito como desculpa!
FORMATO DA APRESENTAÇÃO
O formato da apresentação é um dos critérios de avaliação, pois um engenheiro deve ser capaz de seguir normas no momento de elaboração de relatórios técnicos, manuais e outros documentos afins.
As possíveis notas desse critério são apresentadas na tabela a seguir:
Tabela 1: Possíveis notas no formato de apresentação
| NOTA | DESCRIÇÃO NA DEVOLUTIVA | COMENTÁRIOS |
|---|
Está de acordo com o exemplo (ver a seção Formato da apresentação está 1,00 “EXEMPLO DE APRESENTAÇÃO DE PRÁTICA” correto para maiores detalhes) Formato da apresentação está Está muito próximo do exemplo, mas apresenta 0,70 parcialmente correto alguns erros Formato da apresentação está 0,50 Não seguiu o exemplo.
incorreto 5
IDENTIFICAÇÃO PESSOAL
Todas as questões devem apresentar um identificador pessoal nas seguintes partes:
No código fonte o aluno deve indicar o nome ou o RU.
As possíveis notas para esse critério são apresentadas na tabela a seguir:
Tabela 2: Possíveis notas critério de Identificação Pessoal
| NOTA | DESCRIÇÃO NA DEVOLUTIVA | COMENTÁRIOS |
|---|
Está de acordo com o exemplo (ver a seção Apresentou o identificador pessoal no
| 1,00 | “EXEMPLO | DE | APRESENTAÇÃO | DE |
|---|---|---|---|---|
| código. | ||||
| QUESTÃO” para maiores detalhes). | ||||
| Não apresentou identificador pessoal |
0,50 Questão sem nenhuma identificação de autoria.
no código.
Apresentou o identificador de outra A questão veio com identificador pessoal de 0,00 pessoa no código. outra pessoa.
CÓDIGO
A apresentação do código compõe um terço da nota total da questão. Este será avaliado conforme a tabela a seguir:
As possíveis notas para esse critério são apresentadas na tabela a seguir:
Tabela 3: Possíveis notas na apresentação do código
| NOTA | DESCRIÇÃO NA DEVOLUTIVA | COMENTÁRIOS |
|---|
Está de acordo com o exemplo (ver a seção
| 100 | Código correto e organizado | “EXEMPLO DE APRESENTAÇÃO DE QUESTÃO” |
|---|---|---|
| para maiores detalhes) |
Apresentou comandos que não fazem parte da 70 Código correto e desorganizado.
resposta ou resultados comandos.
Código parcialmente correto e Errou um pouco no código, mas colocou no trabalho 60 organizado. apenas o código útil.
Errou um pouco no código, mas colocou códigos que Código parcialmente correto e 40 não fazem parte da resposta ou resultado de desorganizado.
comandos Sem código ou com código A questão não apresentou código ou o código estava 0 incorreto errado.
OBS. 1: NÃO ESQUECER DO IDENTIFICADOR PESSOAL.
RESPOSTA DA PERGUNTA:
A resposta da pergunta compõe um terço da nota total da questão. Essa parte aplica-se a uma pergunta direcionada ao conteúdo da questão.
As possíveis notas para esse critério são apresentadas na tabela a seguir:
Tabela 4: Possíveis notas na apresentação das explicações
| NOTA | DESCRIÇÃO NA DEVOLUTIVA | COMENTÁRIOS |
|---|
Está de acordo com o exemplo (ver a seção Explicação/Resposta atende o “EXEMPLO DE APRESENTAÇÃO DE QUESTÃO”
| 100 | solicitado e há clareza | e |
|---|
para maiores detalhes) ou código fonte comentado organização.
de forma adequada e completa Ex. de não clareza ao responder à pergunta do Explicação/Resposta atende o EXEMPLO: “O histograma da imagem contém pixels 80 solicitado, porém não há clareza com diversos tons de cinza, mostrando que a e/ou organização imagem tem um contraste”.
| Explicação/Resposta | atende | Ex. de explicação que atende parcialmente pergunta |
|---|---|---|
| 70 | parcialmente o solicitado e há | do EXEMPLO: “O formato do histograma mostra o |
clareza e organização contraste da imagem”.
| Explicação/Resposta | atende | Ex. de explicação que atende parcialmente pergunta |
|---|---|---|
| 60 | parcialmente o solicitado e não | do EXEMPLO e sem clareza: “O contraste da |
há clareza e/ou organização imagem pode ser visto no histograma”.
| Explicação/Resposta | atende | Ex. de explicação que atende precariamente |
|---|---|---|
| 40 | precariamente o solicitado, mas | pergunta do EXEMPLO: “O histograma mostra a |
há clareza e organização distribuição de pixels da imagem”.
| Explicação/Resposta | atende | Ex. de explicação que atende precariamente |
|---|---|---|
| 30 | precariamente o solicitado e não | pergunta do EXEMPLO sem clareza: “O contraste da |
há clareza e/ou organização imagem no histograma”.
Sem explicação ou explicação A questão veio sem explicação ou a explicação está 0 incorreta errada.
EXEMPLO DE APRESENTAÇÃO DE QUESTÃO
Prática XX – Conversão para níveis de cinza Questão XX – Converta a imagem colorida lena_color_256.tif para níveis de cinza usando o comando rgb2gray. Apresente o código e imagens resultantes.
Faça aparecer os algarismos
I. Apresentação do Código (não esquecer do identificador pessoal):
(código-fonte para exemplificação) II. Apresentação da imagem resultante:
Figura 1: Imagem em níveis de cinza.
III. Quantas dimensões tem uma imagem em níveis de cinza? Quais?
Resposta: Duas, como é uma matriz 2D, possuí apenas linhas e colunas.
OBS1: No caderno de prova não precisa circular e apontar o identificador pessoal.
9 OBS2: As imagens são meramente ilustrativas elas demonstram onde devem ser inseridas e não possuem correlação com a atividade designada.
PRÁTICA 01 - HISTOGRAMA
Esta primeira prática tem como objetivo o contato com as ferramentas de software utilizadas na disciplina.
Os códigos devem ser desenvolvidos na ferramenta Scilab.
HISTOGRAMA E EQUALIZAÇÃO
Para este exercício faça a leitura das imagens imagem1a.tif e imagem1b.tif utilizando o comando imread. A seguir realize os seguintes procedimentos:
- Converta a imagem imagem1b.tif para níveis de cinza utilizando o comando rgb2gray.
- Faça o levantamento do histograma das imagens imagem1a.tif e imagem1b.tif convertida para níveis de cinza.
- Realize a equalização das imagens imagem1a.tif e imagem1b.tif convertida para níveis de cinza.
- Apresente os resultados deste processamento em 2 (duas) linhas (Uma sequência de imagens por linha) e 3 (três) colunas (Imagem – Histograma – Histograma equalizado), sendo a primeira linha com a imagem1a e seus respectivos histograma e histograma equalizado. Na segunda linha com a imagem1b, com os respectivos histogramas da mesma forma que a primeira linha.
Dica: Para realizar este exercício deve-se fazer uso das seguintes funções:
- Função rgb2gray: Conversão para níveis de cinza
Exemplo:
imagem = imread('baboo_colorido.tif');
cinza = rgb2gray(imagem);
- Função imhist: Histograma de uma imagem
Exemplo:
imagem = imread('baboo_colorido.tif');
cinza = rgb2gray(imagem);//imagem em níveis de cinza
[qtd, nvl] = imhist(cinza);
plot2d3(nvl,qtd);//plota o histograma
- Função imhistequal: Equalização de histograma
Exemplo:
imagem = imread('baboo_colorido.tif');
cinza = rgb2gray(imagem);
imEQ = imhistequal(cinza);
[qtdEQ,nvlEQ] = imhist(imEQ);
plot2d3(nvlEQ,qtdEQ);
- Função subplot: Apresentação de mais de uma imagem/gráficos juntos
Exemplo:
imagem = imread('baboo_colorido.tif');
cinza = rgb2gray(imagem);//imagem em níveis de cinza
[qtd, nvl] = imhist(cinza);//histograma
subplot(131)//uma linha, 3 colunas, primeira imagem
imshow(imagem)
subplot(132) //uma linha, 3 colunas, segunda imagem
imshow(cinza)
subplot(133) //uma linha, 3 colunas, terceira imagem
plot2d3(nvl,qtd)
Após conferir o funcionamento, deve-se preencher o caderno de resolução como se pede.
PRÁTICA 02 – TRANSFORMAÇÕES
GEOMÉTRICAS
Para este exercício faça a leitura da imagem imagem2.tif. Esta figura possuí três botões que estão com posicionamento errado, entretanto o problema será focado no botão que está no quadrado vermelho como pode ser visto na figura 2:
Figura 2 – imagem2.tif com o botão modificado marcado.
ARRUMAR O BOTÃO DA CALCULADORA
Neste item, sua tarefa é arrumar o botão marcado na imagem2.tif, de forma que este botão volte a sua posição correta (Com o número 9 e o escrito “MATRIX” na horizontal). Para isso o aluno deve:
- Utilizar uma função de corte (imcrop ou imcropm), para remover o botão da imagem da imagem2.tif.
- Realizar o processamento necessário para que o botão volte a posição correta.
- Mostre o resultado.
Dica 1: Para realizar o processamento no botão, deve-se fazer uso do processamento corte, que consiste em retirar copiar apenas uma submatriz da imagem original.
Há duas funções que podem fazer isto:
- Função imcrop: Realiza um corte de uma área especificada por (x1, y1) e (x2, y2).
Exemplo:
imagem = imread('house.tif');
x1=20;
y1=30;
x2=200;
y2=300;
resultado = imcrop(imagem,[x1,y1,x2,y2]);
imshow(resultado)
- Função imcropm:
Exemplo:
imagem = imread('house.tif');
resultado = imcropm(imagem);
Observação: Antes de usar o comando imcropm, feche todas as janelas que possuem imagens ou gráficos produzidos por comandos do Scilab.
Dica 2: Para arrumar o botão, será necessário um processamento de rotação para isto:
- Função imrotate: Rotaciona a imagem no sentido anti-horário de acordo com o valor do ângulo colocado como parâmetro.
Exemplo:
imagem = imread('cameraman.tif');
angulo = 90;
resultado = imrotate(imagem,angulo);
imshow(resultado)
Observação: Faça o teste com outros valores na variável ângulo.
Após conferir o funcionamento, deve-se preencher o caderno de resolução como se pede.
PRÁTICA 03 – FILTRAGEM ESPACIAL
Nesta prática o aluno deverá utilizar filtros para remover (da melhor forma possível) um ruído existente na imagem, para isto faça upload da imagem3.tif e utilizando filtros.
Para colocar ruído na imagem3.tif deve-se fazer uso das funções:
- Ruído Gaussiano:
imagem = imread('house.tif');
ruido = imnoise(imagem,'gaussian');
imshow(ruido);
- Ruído Sal e Pimenta:
imagem = imread('house.tif');
ruido = imnoise(imagem,'salt & pepper');
imshow(ruido);
FILTRAGEM DE RUÍDO
Neste exercício deve-se:
- Aplicar um dos tipos de ruído na imagem3.tif
- Aplicar os filtros de média e mediana.
- Mostrar os resultados.
- Faça a comparação entre o resultado destes dois filtros e responda à pergunta: Qual resultado foi o melhor e por quê?
Dica: As funções dos filtros são:
- Filtro de média:
Exemplo:
imagem = imread('cameraman.tif');
filtro = fspecial('average',9); //Este 9 indica que a máscara é 3x3.
resultado = imfilter(imagem,filtro);
imshow(resultado)
Observação: Para aumentar a intensidade do filtro, aumente o valor da máscara.
- Filtro de mediana:
Exemplo:
imagem = imread('cameraman.tif');
resultado = immedian(imagem,9); //Este 9 indica que a máscara é 9x9
imshow(resultado)
Após conferir o funcionamento, deve-se preencher o caderno de resolução como se pede.
PRÁTICA 04 – MORFOLOGIA MATEMÁTICA
Nesta prática será utilizada a imagem imagem4.tif, a qual possuí ruídos e artefatos na imagem.
A seguir temos a ilustração da imagem que será utilizada nesta prática:
Figura 3 – imagem4.tif.
REALÇAR OS ELEMENTOS DA IMAGEM
A imagem4.tif consiste em uma imagem que foi retirada de um laboratório de biologia, os elementos que aparecem são células que devem ser contadas pelos pesquisadores, entretanto para colocar no software que realiza a contagem, é necessário remover o ruído e binarizar a imagem (imagem preta e branca). No resultado as células devem estar com a cor branca e o fundo de cor preta. Deve-se tomar cuidado em manter a integridade das células após o processamento.
Para realizar esta atividade deve-se:
- Aplicar um filtro (média ou mediana) para reduzir o ruído gaussiano da imagem.
- Binarizar a imagem, de acordo com um limiar adequado.
- Criar um elemento estruturante
- Utilizar operações morfológicas: Erosão, dilatação, abertura ou fechamento. Para realçar os elementos na imagem.
- Mostrar o resultado.
15 Dica: A seguir a definição de algumas funções que poderão ser usadas na resolução deste exercício:
- Binarização ou limiarização: Consiste em transformar a imagem em binária (valores 0’s e 1’s), para isto é fixado um valor (limiar) e compara-se com o histograma da imagem, valores acima deste valor são 1 (branco) e abaixo 0 (preto).
Exemplo:
imagem = imread('cameraman.tif');//imagem em níveis de cinza
resultado = im2bw(imagem,limiar);
imshow(resultado)
- Elemento estruturante: Este elemento é utilizado nas operações morfológicas, a intensidade do processamento pode variar de acordo com a dimensão deste elemento.
Exemplo:
//Gera um elemento estruturante retangular de dimensões 3x3
EE = imcreatese('rect',3,3);
- Erosão:
Exemplo:
imagem = imread('cameraman.tif');
binario = im2bw(imagem,0.5); //Imagem binarizada com limiar em 50%
EE = imcreatese('rect',3,3); //Elemento estruturante
resultado = imerode(binario,EE);
imshow(resultado)
- Dilatação:
Exemplo:
imagem = imread('cameraman.tif');
binario = im2bw(imagem,0.5); //Imagem binarizada com limiar em 50%
EE = imcreatese('rect',3,3); //Elemento estruturante
resultado = imdilate(binario,EE);
imshow(resultado)
- Abertura:
Exemplo:
imagem = imread('cameraman.tif');
binario = im2bw(imagem,0.5); //Imagem binarizada com limiar em 50%
EE = imcreatese('rect',3,3); //Elemento estruturante
resultado = imopen(binario,EE);
imshow(resultado)
- Fechamento:
Exemplo:
imagem = imread('cameraman.tif');
binario = im2bw(imagem,0.5); //Imagem binarizada com limiar em 50%
EE = imcreatese('rect',3,3); //Elemento estruturante
resultado = imclose(binario,EE);
imshow(resultado)
Após conferir o funcionamento, deve-se preencher o caderno de resolução como se pede.
Sobre este texto
Transcrição do roteiro entregue pela instituição, com a estrutura preservada. Nenhum dado de professor, aluno ou contato aparece aqui — foram removidos antes da publicação. O texto está no ar para que você saiba o que a atividade pede antes de começar; ele não contém resolução.
Pedir orçamento no WhatsApp