Você está na página 1de 17

DESENVOLVIMENTO DE ALGORITMOS PARA A APLICAO DE OPERAES ARITMTICAS E LGICAS EM IMAGENS DIGITAIS Thiago da Rocha Tedrus; Aline Izida; Emilia

Alves de Souza; Valguima Victria Viana Aguiar Odakura; Rodrigo Porfrio da Silva Sacchi4
Aluno do curso de Sistemas de Informao, bolsista do Projeto de Ensino/UFGD. Email: thiagotedrus@gmail.com Alunas do curso de Sistemas de Informao, voluntrias do Projeto de Ensino/UFGD. Email: alineizida@gmail.com; emilia.alvess@gmail.com Professora da UFGD, Faculdade de Cincias Extas e Tecnologia. Co-orientadora do Projeto de Ensino/UFGD. Email: valguimaodakura@ufgd.edu.br
4

Professor da UFGD, Faculdade de Cincias Extas e Tecnologia. Orientador do Projeto de Ensino/UFGD.

Email: rodrigosacchi@ufgd.edu.br

RESUMO: O objetivo geral deste projeto de ensino de graduao compreender os conceitos e tcnicas mais utilizadas em processamento de imagem a fim de ilustrar algoritmos que envolvem o processamento de imagens digitais e alguns exemplos de aplicaes. Os assuntos abordados neste trabalho compreendem os conceitos de imagem, como as imagens so representadas no computador, o processo de digitalizao de uma imagem e as imagens em nveis de cinza e coloridas. Tambm, abordado o conceito de pixel, sua definio, relao de vizinhana dos pixels, bem como apresentao de algoritmos e a execuo dos mesmos para realizar operaes lgicas e aritmticas em imagens. O ponto chave do trabalho a pesquisa que envolve o estudo de conceitos, tcnicas e as aplicaes dos algoritmos de operaes aritmticas e lgica nas imagens digitais. Os resultados destas aplicaes podem ser vistos na seo Resultados, no qual so apresentadas as figuras que foram utilizadas no experimento e os resultados obtidos, assim como tambm as discusses e observaes relevantes sobre a aplicao.

PALAVRAS-CHAVE: 1) Processamento de Imagens Digitais, 2) Operaes lgicas, 3) Operaes aritmticas.

INTRODUO
Segundo Grahn e Geladi (1996), imagem uma reproduo de um objeto real ou cena, preservada em um meio qualquer. Em representao matemtica, uma imagem refere-se a uma funo bidimensional de intensidade de luz f(x; y), onde x e y so as coordenadas espaciais e o valor de f em qualquer ponto (x; y) proporcional ao brilho, ou tambm nveis de cinza da imagem naquele ponto e f(x; y) deve ser positiva e finita. Como os computadores no podem manipular imagens contnuas, mas apenas matrizes de nmeros digitais, necessrio representar as imagens em forma de matrizes de pontos, ou seja, imagens digitais (Woods & Gonzalez, 2000). No processo de digitalizao uma imagem contnua transformada em uma imagem digital que consiste em uma estrutura quadriculada como uma matriz, cujos ndices de linhas e de colunas identificam um ponto na imagem, e o correspondente valor do elemento da matriz identifica o nvel de cinza naquele ponto, sendo que cada elemento da matriz recebe o nome de pixel. A iluminao de uma imagem consiste na quantidade de luz incidindo na cena, enquanto a reflectncia acontece quando os objetos refletem uma quantidade de luz na cena. De acordo com a notao de matriz, o eixo vertical (eixo m) executado de cima para baixo e no o contrrio, como comum em grficos. O eixo horizontal n funciona como de costume, da esquerda para a direita (Jhne, 2002). A Figura 1 representa uma imagem atravs de uma matriz m x n, onde m o nmero de linhas e n o nmero de colunas, e cada par ordenado (m; n) chamado de pixel.

Figura 1: Representao de uma matriz.

IMAGENS EM NVEIS DE CINZA Uma imagem digital em nvel de cinza uma imagem na qual o valor de cada pixel est em uma nica amostra de um espao de cores, ou seja, uma imagem em nveis de cinza corresponde a uma representao onde cada pixel assume um valor em um intervalo [0;L - 1] de nmeros inteiros, onde o valor 0 associado ao preto, o valor (L - 1) corresponde ao branco, e os valores intermedirios constituem um degrad de tons de cinza. O valor de nvel de cinza representado por valores iguais para R(red - vermelho), G(green - verde) e B(blue - azul) (Woods & Gonzalez, 2000). A quantizao em nveis de cinza definida pela digitalizao da amplitude de uma imagem. O nmero de quantizao necessrio em nveis de processamento de imagem pode ser discutido com respeito a dois critrios (Conci et al., 2007). Primeiro, os dados de imagem so quantizados em 256 valores de cinza, o que significa que cada pixel ocupa 8 bits ou um byte. Esse tamanho de bits bem adaptado arquitetura dos computadores padro. Alm disso, a resoluo boa o suficiente para nos dar a iluso de uma contnua mudana nos valores de cinza (Jhne, 2002). O outro critrio relacionado com a tarefa de imagem. Para uma aplicao simples em viso de mquina, onde os objetos homogeneamente iluminados devem ser detectados e medidos, apenas dois nveis de quantizao, isto , uma imagem binria, pode ser suficiente (Jhne, 2002). IMAGENS COLORIDAS Uma imagem colorida uma imagem onde a cor em cada ponto (x; y) definida atravs de trs grandezas: luminncia, matiz e saturao. A luminncia est associada com o brilho da luz; a matriz com o comprimento da onda dominante; e a saturao com o grau de pureza (ou intensidade) da matiz. A maioria das cores visveis pelo olho humano pode ser representada como uma combinao de trs cores primrias: vermelho (R-red), verde (G-green) e azul (B - blue). Assim, uma representao comum para uma imagem colorida utiliza trs bandas R, G, e B com profundidade de 1 byte por pixel (Jhne, 2002). A imagem colorida composta das intensidades das 3 cores variando de 0 a 255, o que permite a codificao de aproximadamente 17 milhes de cores diferentes, embora o olho humano no possa reconhecer mais que 350.000 cores simultaneamente (Conci et al., 2007).

O QUE UM PIXEL? Os elementos de uma matriz digital so chamados de elementos de imagem ou pixels. O termo pixel vem da contrao da expresso picture element (elemento da imagem). Pode-se dizer que pixel o menor elemento num dispositivo de imagem, ao qual possvel atribuir uma cor, ou seja, um pixel o menor ponto que forma uma imagem digital, sendo que milhares de pixels formam a imagem inteira (Woods & Gonzalez, 2000). A posio do pixel na imagem representada por um elemento de uma matriz. O primeiro ndice, m, indica a posio da linha, o segundo ndice, n, representa a posio da coluna. Se a imagem digital representada por uma matriz m x n, o m ndice vai de 0 a m - 1, e o ndice n de 0 a n- 1 (Jhne, 2002). O nmero de pixels de que formada a imagem digital define a resoluo espacial desta. Normalmente so utilizados valores de resoluo espacial de 256_256, 512 x 512, 1024 x 1024, 2046 x 2046 pixels. Quando o valor de resoluo espacial muito reduzido, em torno de 32 x 32 pixels, as imagens perdem muito da definio e se transformam em uma coleo de quadrados que pode ser demonstrado na Figura 2 (Woods & Gonzalez, 2000; Conci et al., 2007).

Figura 2: (a) 1024 x 1024. (b) 512 x 512. (c) 256 x 256. (d) 128 x 128. (e) 64 x 64. (f) 32 x 32.

Em um monitor colorido cada pixel composto por um conjunto de trs pontos: verde, vermelho e azul. Nos melhores monitores cada um destes pontos capaz de exibir

256 tonalidades diferentes, ou seja, combinando tonalidades dos trs pontos possvel exibir pouco mais de 16.7 milhes de cores diferentes, e os pixels so agrupados em linhas e colunas para formar uma imagem (Og & Neto, 1999). As imagens tridimensionais tambm so de interesse em processamento de imagem, nelas um pixel se transforma em um voxel, uma abreviao de elemento de volume, onde cada voxel representa o valor mdio de cinza de uma matriz tridimensional e a posio de um voxel dada por trs ndices, o k, denota a profundidade, m as linhas e n as colunas (Conci et al., 2007). VIZINHANA DE PIXELS Um pixel p, com a coordenada (x; y), possui pixels vizinhos q, em que cada q fica a uma unidade de distncia de p (Jhne, 2002). Quando p possui quatro vizinhos horizontais e verticais chamada de vizinhana-de-4, o conjunto denotado por N4(p), representado pelos pontos (x+1; y), (x -1; y), (x; y + 1), (x; y - 1) (Og & Neto, 1999), representados na Figura 3:

Figura 3: Vizinhana-de-4.

Os quatro vizinhos diagonais de p, denotados por ND(p) dado pelos pontos: (x+1; y +1), (x + 1; y - 1), (x - 1; y + 1), (x - 1; y - 1). Todos os pontos vizinhos, ou seja, os horizontais, verticais e diagonais so chamados de vizinhana-de-8 de p, N8(p) (Og & Neto, 1999), representado pela Figura 4.

Figura 4: Vizinhana-de-8.

Se (x, y) estiver na borda, alguns N4(p), ND(p), N8(p) no existiro. A Figura 5 mostra a vizinhana de pixels de (x,y).
Tabela 1: Vizinhana de pixels.

(x-1,y-1) (x,y-1) (x+1,y-1)

(x-1,y) (x,y) (x+1,y)

(x-1,y+1) (x,y+1) (x+1,y+1)

Uma propriedade importante das imagens so suas relaes de vizinhana desde que elas definam o que consideramos como uma regio conectada e, portanto, como um objeto digital. Uma matriz retangular em duas dimenses mostra o fato que existem duas formas possveis para definir vizinhanas de pixels (Woods & Gonzalez, 2000). Podem-se considerar pixels como vizinhos quando esses tm uma borda conjunta ou quando tm pelo menos um canto conjunto. Os tipos de vizinhana so necessrios para uma boa definio de um objeto e regies conectadas. Um objeto ou uma regio chamado de conectado quando podemos chegar a qualquer pixel da regio caminhando a partir de um pixel adjacente para o prximo (Conci et al., 2007). OPERAES ARITMTICAS E LGICAS EM IMAGENS OPERAES ARITMTICAS As tcnicas de operaes aritmticas servem para ajustar e suavizar as imagens em certas aplicaes, principalmente em imagens muito ruidosas e todas as operaes aritmticas so executadas pixel a pixel , atravs de uma regra matemtica definida, tendo como resultado a imagem representando a combinao das imagens originais, onde dadas

duas imagens em, A e B, a imagem C obtida por A operao B, onde a operao pode ser: adio, subtrao, multiplicao ou diviso (Mller, 2000). ADIO A operao de adio cria uma nova imagem a partir da mdia aritmtica entre o conjunto de outras imagens, podendo ser imagens totalmente diferentes. O objetivo desta operao amenizar o rudo da imagem, normalizar o brilho de imagens e p o de ser usada para integrao de imagens diferentes (Mller, 2000). Nas operaes de adio considera-se o resultado da mdia aritmtica e no da adio, pois o resultado da adio p o de ultrapassar a capacidade de memria. Por exemplo, se existem duas imagens de 8 bits (com valores de intensidade variando de 0 a 255 para cada pixel ), tm-se como resultado d a adio valores na faixa de 0 a 510 , isto excede a capacidade de memria da imagem (Og & Neto, 1999). Uma possibilidade simplesmente dividir o resultado por dois, obtendo uma imagem resultante que est escalonada na faixa de 0 a 255. Geralmente, esta a forma aplicada nas operaes com imagens. Em geral, quando existem N imagens, faz-se a adio destas imagens e logo aps o resultado dividido por N (Mller, 2000). A Tabela 2 mostra o Algoritmo 1, que representa a operao de adio entre duas imagens.
Tabela 2: Algoritmo de adio entre duas imagens.

Algoritmo 1 Adio entre duas imagens Entrada: Duas imagens A e B e suas respectivas dimenses n e m, que devem ser iguais para as duas imagens. Sada: a nova imagem R composta p ela combinao dessas duas imagens. Para i=1 at m Faa Para j=1 at n Faa R(i,j) = (A(i,j)+B(i,j))/2; Fim Para Fim Para

SUBTRAO A subtrao similar a adio, a diferena de duas imagens, pixel a pixel , n a qual a faixa de valores das intensidades d os pixels podem variar d e 255 a +255 . Os valores das intensidades dos pixels podem ser reescalonados para dentro de um byte, trocando a imagem original por uma imagem na qual so adicionados 255 (Mller, 2000). Utilizada para realar diferenas espectrais (operao linear), uma vez que se conhece as curvas de comportamento espectral dos alvos de interesse e o intervalo espectral das bandas dos sensores. Com a utilizao da subtrao, pode-se realar as formas geomtricas de uma imagem, inclusive aquelas no imediatamente perceptveis na imagem original (Mller, 2000). A Tabela 3 mostra o Algoritmo 2, que representa a operao de subtrao entre duas imagens.
Tabela 3: Algoritmo de subtrao entre duas imagens.

Algoritmo 2 Subtrao entre duas imagens Entrada: duas imagens A e B e suas respectivas dimenses n e m, que devem ser iguais para ambas as imagens. Sada: a nova imagem R composta pela combinao dessas duas imagens. Para i=1 at m Faa Para j=1 at n Faa R(i,j) = |A(i,j)-B(i,j)|; Fim Para Fim Para

MULTIPLICAO uma operao linear que consiste na multiplicao de uma constante (escalar) pelos nveis de cinza de uma imagem. Tem o objetivo de qualificar os sistemas oferecidos pelas outras operaes aritmticas. A aplicao da multiplicao identifica os objetos mais contrastantes na imagem, retirando pequenos detalhes, permitindo o realce de formas com intensidade semelhante (Mller, 2000). A Tabela 4 mostra o Algoritmo 3, que representa a operao de multiplicao de imagem.
Tabela 4: Algoritmo de multiplicao entre uma imagem e um escalar.

Algoritmo 3 Multiplicao entre duas imagens Entrada: a imagem A e um escalar (constante) x. Sada: a nova imagem resultante R. Para i=1 at m Faa Para j=1 at n Faa R(i,j)=A(i,j)*x; Fim Para Fim Para

DIVISO A diviso tambm conhecida como a razo entre imagens, uma operao nolinear que permite o realce das diferenas de imagens com nveis de intensidade diferentes. Um problema com a diviso so os rudos em imagens que podem ser realados (Og & Neto, 1999). A imagem resultante a razo dos valores de intensidade da primeira imagem pelos valores correspondentes da segunda imagem. Se a segunda imagem for um escalar positivo, os valores de intensidade da primeira imagem sero inversamente proporcionais a primeira imagem por um fator da segunda imagem (Mller, 2000). A Tabela 5 mostra o Algoritmo 4, que representa a operao de diviso de imagens.
Tabela 5: Diviso entre duas imagens.

Algoritmo 4 Diviso entre duas imagens Entrada: Duas imagens A e B e suas respectivas dimenses n e m, que devem ser iguais para as duas imagens. Sada: a imagem resultante R da razo entre as duas imagens. Para i=1 at m Faa Para j=1 at n Faa Se B(i,j)>0 Ento R(i,j)=A(i,j)/B(i,j); Seno (Erro,diviso p or zero!!) Fim Se Fim Para Fim Para

OPERAES LGICAS As operaes lgicas (ou booleanas) so realizadas pixel a pixel sobre toda a imagem. Essas operaes so usadas para extrao de caractersticas e anlise de formas (Felgueiras & Garrott, 2008). As operaes lgicas bsicas so aplicadas sobre imagens binrias, alguns exemplos d e operadores lgicos : AND , OR , XOR e NOT (Og & Neto, 1999) representadas na Tabela 5. Esses operadores, de acordo com a Tabela 5, agem sobre combinaes de expresses verdadeiras e falsas afim de produzir um valor-verdade final.
Tabela 6: Tabela verdade dos valores verdade.

Entradas A 0 0 1 1

B 0 1 0 1

Operador Lgico AND OR XOR 0 0 0 0 1 1 0 1 1 1 1 0

NOT A 1 1 0 0

OPERADOR LGICO AND O operador lgico AND um operador binrio que necessita de duas imagens para que a operao acontea. A resposta da operao verdade (1) se e somente se ambas as variveis de entrada forem verdade. A Tabela 6 mostra o Algoritmo 5, que representa a operao AND entre duas imagens (Felgueiras & Garrott, 2008).
Tabela 7: Operador lgico AND.

Algoritmo 5 Operador AND Entrada: Duas imagens A e B e suas respectivas dimenses n e m, que devem ser iguais para as duas imagens. Sada: a nova imagem R resultante da operao AND entre essas duas imagens. Para i=1 at m Faa Para j=1 at n Faa R(i,j)=A(i,j) AND B(i ,j);

Fim Para Fim Para OPERADOR LGICO OR Assim como o operador lgico AND o operador lgico OR um operador binrio que necessita de duas imagens p ara que a operao acontea. A resposta da operao verdade (1) se e somente se p elo menos uma das variveis de entrada for verdade (Felgueiras & Garrott, 2008). A Tabela 8 mostra o Algoritmo 6, que representa a operao OR entre duas imagens. Tabela 8: Operador lgico OR. Algoritmo 6 Operador OR Entrada: Duas imagens A e B e suas respectivas dimenses n e m, que devem ser iguais para as duas imagens. Sada: a nova imagem R resultante da operao OR entre essas duas imagens. Para i=1 at m Faa Para j=1 at n Faa R(i,j)=A(i,j) OR B(i,j); Fim Para Fim Para OPERADOR LGICO NOT O operador lgico NOT um operador unrio, ou seja, necessita d e apenas uma imagem para que a operao acontea. Representa a negao (inverso) da imagem binria. Se ela for verdade, torna-se falsa, e vice-versa (Felgueiras & Garrott, 2008, Filho, Og & Neto, 1999). A Tabela 9 mostra o Algoritmo 7, que representa a operao lgica NOT.
Tabela 8: Operador lgico NOT.

Algoritmo 7 Operador NOT

Entrada: Uma imagem A e suas respectivas dimenses n e m. Sada: a nova imagem R resultante da negao da mesma. Para i=1 at m Faa Para j=1 at n Faa R(i,j)= NOT A(i,j); Fim Para Fim Para

AGRADECIMENTOS Agradecemos ao apoio financeiro, concedido pela UFGD, atravs de bolsa do Projeto de Ensino realizado em 2009. RESULTADOS E DISCUSSES Os algoritmos descritos foram aplicados usando a ferramenta MATLAB. O processo de aplicao consistiu em entrar com as imagens no MATLAB e aplicar os respectivos algoritmos sobre elas. A seguir, so apresentadas as imagens utilizadas e a imagem resultante, quando aplicadas as operaes. A Figura 5 demonstra o resultado da aplicao do algoritmo de soma entre duas imagens. A adio foi responsvel por realizar uma combinao de duas imagens, mas seu principal uso ocorre ao amenizar o rudo da imagem, normalizar o brilho e pode ser usada para integrao de imagens diferentes.

Figura 5: Adio entre duas imagens.

A Figura 6 demonstra o resultado da aplicao do algoritmo de subtrao entre duas imagens. A subtrao foi responsvel por calcular a diferena entre duas imagens, ou seja, encontrou diferenas entre ambas, resultando em uma nova imagem tratada. Com a utilizao da subtrao, pode-se tambm realar as formas geomtricas de uma imagem, inclusive aquelas no imediatamente perceptveis na imagem original.

Figura 6: Subtrao entre duas imagens.

A Figura 7 demonstra o resultado da aplicao do algoritmo de multiplicao de uma imagem por um escalar. A aplicao da multiplicao identificao dos objetos mais contrastantes na imagem, retirando pequenos detalhes, permitindo o realce de formas com intensidade semelhante.

Figura 7: Multiplicao de uma imagem.

A Figura 8 representa a aplicao do Algoritmo 5 entre duas imagens. A operao AND, tambm chamada E, realiza a interseco de duas imagens.

Figura 8: Operador lgico.

A Figura 9 representa a aplicao do Algoritmo 6 entre duas imagens. A operao OR, tambm conhecida como OU, realiza a unio entre duas imagens.

Figura 9: Operador lgico OR.

A Figura 10 representa a aplicao do Algoritmo 7 em uma imagem. A operao NOT tambm chamada de NO, inverte todos os pixels da imagem de entrada, resultando em uma imagem de sada que o seu negativo.

Figura 5: Operador lgico NOT.

CONCLUSO Neste trabalho abordamos alguns conceitos, tcnicas e aplicaes bsicas da rea de processamento de imagens. Apresentamos exemplos resultantes das aplicaes dos algoritmos referentes a operaes aritmticas e lgicas entre imagens digitais e constatamos que cada algoritmo a ser aplicado depende do problema a se resolver. As operaes aritmticas estudadas neste trabalho foram adio, subtrao, multiplicao e diviso. Entretanto, no foi possvel aplicar a operao de diviso no

presente trabalho, devido a dificuldades encontradas na execuo do algoritmo, contudo, sabe-se que esta operao til para a normalizao de brilho de imagens. O principal objetivo destas tcnicas abordadas neste trabalho, que foi detectado nos estudos e na comprovao com as aplicaes em imagens escolhidas por ns, est relacionado deteco de caractersticas e anlise de forma das imagens em estudo. Embora os testes executados e os resultados obtidos neste trabalho sejam, em grande parte das aplicaes, somente de utilidade preliminar, existem vrias reas em que as tcnicas de processamento de imagens podem ser aplicadas. Em anlises de recursos naturais, por exemplo, podem ser usados na agricultura para previso de safras e determinao do tipo de plantao nas reas de agricultura e na cartografia para mapeamento da superfcie terrestre. Pode ser til tambm na anlise ambiental para monitoramento da poluio e para o planejamento urbano, alm da possibilidade de anlise de clima e temperatura e na rea biomdica para contagem de clulas.

REFERNCIAS BIBLIOGRFICAS Conci, Aura; Azevedo, Eduardo & Leta, Fabiana. Computao Grfica: Processamento de Imagens Digitais - vol. 2. Editora: Elsevier. Ano: 2007. Felgueiras, Carlos & Garrott, Joo. Introduo ao Processamento Digital de Imagem, Edio1. Editora FCA, 2008.

Filho, Og Marques & Neto, Hugo Vieira. Processamento digital de imagens. Editora Brasport, 1999. Grahn, Hans & Geladi, Paul. Multivariate Image Analysis, volume 1. John Wiley & Sons, 1996. Jhne, Bernd. Digital image processing. Springer, fifth edition, 2002. Mller, Daniel Nehme. Operaes aritmticas em imagens. abril 2000. Disponvel em:http://www.inf.ufrgs.br/danielnm/docs/OperacoesAritmeticasImagens.pdf. em: 19-09-2011. Woods, Richard E. & Gonzalez, Rafael C. Processamento de Imagens Digitais. Edgard Blcher, First edition, 2000. Acessado

Você também pode gostar