Você está na página 1de 13

Universidade Federal do Amazonas - UFAM

Faculdade de Tecnologia
Departamento de Eletrônica e computação

Fábio Arthur Soares Araujo


Juliano Salvattore Lima
Marcos Pontes
Nathalia Damasceno Colares
Willian Santos

2° PROJETO DE PROCESSAMENTO DIGITAL DE IMAGEM

Manaus - AM
2023
Universidade Federal do Amazonas - UFAM
Faculdade de Tecnologia
Departamento de Eletrônica e computação

Fábio Arthur Soares Araujo


Juliano Salvattore Lima
Marcos Pontes
Nathalia Damasceno Colares
Willian Santos

2° PROJETO DE PROCESSAMENTO DIGITAL DE IMAGEM

Projeto apresentado no curso de Engenharia


Elétrica da Faculdade de Tecnologia -
Universidade Federal do Amazonas, para
obtenção de nota parcial da disciplina de
Processamento Digital de imagem.

Professor: Frederico Pinagé

Manaus - AM
2023
1 Introdução

Este projeto tem como objetivo, exercitar e aprimorar os conhecimentos obtidos na


disciplina de Processamento digital de imagem. Dentre os temas que serão abordados, temos
quantização, amostragem, canais de cinza, os tipos de resolução de imagem, as operações
aritméticas e lógicas (OR, NOT, XOR, AND) e sobre vizinhança, adjacência, distância entre
os pixels e regiões. Por questões de familiaridade e praticidade todas as questões deste
projeto foram integralmente realizadas no software Matlab.

2 Fundamentação teórica

O processamento de imagem, nada mais é do que manipulação de sinais digitais, de


onde é possível retirar informações. A ‘imagem’ é uma representação especial de uma cena
bidimensional (escala de cinza) ou tridimensional (colorida), dessa forma, podemos dizer que
uma imagem é uma matriz. Para podermos realizar as atividades propostas, são necessários
alguns conhecimentos — obtidos através da disciplina — e que aqui serão também
abordados.
Aqui, também vimos a importância e a utilidade de utilizar as portas lógicas no
processamento digital de imagens, sendo elas and, or, xor, not. Tais operações são executadas
de bit em bit, as operações and e or são bastante utilizadas para mascaramento para obter a
ROI de uma imagem. Além destas, também pode-se utilizar essas funções em vetores, no
caso, são elas: bitand, bitxor, bitor.
O processo de amostragem, está intrinsecamente ligada com a quantidade de
informação que se deseja guardar, dessa forma, quanto maior for a amostragem, mais
informações tem-se. Este processo trata-se da escolha de um conjunto de pontos em um
espaço real os quais compõem a imagem digital. Para definir a amostragem, é necessário
selecionar conjuntos menores de espaços que formam a imagem discreta.
A adjacência entre os pixels é utilizada para definir os limites de objetos e
componentes das regiões de interesse em uma imagem. Neste caso, é preciso determinar se
eles estão interligados de acordo com o critério de similaridade. Temos dois tipos de
adjacência, onde dois pixels com valores de tons de cinza em V, podem ser adjacentes caso
sigam os critérios:
➢ Adjacência-4:
q ∈ N4(p)
➢ Adjacência-8
q ∈ N8(p)
➢ Adjacência-m
i. q estiver em N4 ou
ii. q estiver em Nd e o conjunto N4(p) ∩ N4(q) não possuir pixel com
valores em V.

3 Questões propostas

3.1. Abra o arquivo de imagem ‘lena_cor.bmp’. Crie uma imagem em tons de cinza com
base na média dos 3 canais e exiba essa imagem.

Figura 1- código do matlab

Figura 2 - Resultado

3.2. Abra o arquivo de imagem ‘lena_cor.bmp’. Este arquivo está em 8 bits. Faça a
quantização dele em 7 bits, 6 bits, 5 bits, 4 bits, 3 bits, 2 bits, e 1 bit. Exiba cada uma das
imagens geradas. Repita esse processo para a imagem ‘lena_gray.bmp’.
Figura 3- código do matlab

Figura 4 - Resultado

3.3. Abra a imagem “pontos.png”. Implemente e aplique o algoritmo para rotular


componentes conectadas.

3.4. Utilizando as imagens “forma1.png” e “forma2.png”, implemente os seguintes


operadores lógicos:

a) Operador E

b) Operador OU

c) Operador XOR
d) Negação

Figura 7 - código do matlab

Figura 8 - Resultado

3.5. Para a imagem ‘lena_gray.bmp’, implemente um algoritmo para encontrar a


vizinhança -4, -8, -D, para um pixel que esteja no posição (x,y).

código Matlab:
Matriz de saída :
3.6. Ajustar o brilho das imagens abaixo (e exibi-las), somando ao valor de cada pixel
um escalar no intervalo [-255, 255]. Certifique-se que o resultado da operação aplicado
a cada pixel se encontra na faixa [0,255], utilizando (a) normalização, (b) truncamento.
No caso de imagens coloridas, aplique o algoritmo para cada um dos canais (R,G, B)
independentemente.

a) barb.tif

b) canoe.tif
3.7. Ajustar o brilho das imagens abaixo (e exibi-las), subtraindo ao valor de cada pixel
um escalar no intervalo [-255, 255]. Certifique-se que o resultado da operação aplicado
a cada pixel se encontra na faixa [0,255], utilizando (a) normalização, (b) truncamento.
No caso de imagens coloridas, aplique o algoritmo para cada um dos canais (R,G, B)
independentemente.

a) circuit.tif

b) forest.tif
3.8. Para a imagem gold.tif: (a) incremente o contraste em 50%, (b) reduza o contraste
em 25%.

3.9. Mostre a diferença entre as imagens Mobile20.tif e Moobile21.tif.


3.10. Escreva um código MATLAB para reduzir pela metade o tamanho da imagem
“mandril.tif”.

3.11. Para a imagem peppers.tif, isole a pimentão que está marcado, conforme figura
abaixo, utilizando o mascaramento.
3.12Crie uma matriz de tamanho 101x101. Calcule a distância de cada ponto para
centro da matriz utilizando as seguintes métricas:

a) Distância Euclidiana

b) Distância City Block

c) Distância Chessboard

Você também pode gostar