• Nenhum resultado encontrado

5.2 Biblioteca de Processamento Digital de Imagem OpenCV

5.2.2 Filtros

Muitas vezes as condi¸c˜oes de aquisi¸c˜ao da imagem n˜ao s˜ao as melhores, por exem-

plo m´a ilumina¸c˜ao, condi¸c˜oes clim´aticas adversas, entre outros. Assim, antes de

processar a imagem ´e melhor remover o ru´ıdo e para esse efeito utilizam-se filtros.

Existem v´arios tipos de filtros diferentes, entre os quais alguns tˆem como objetivo

eliminar o ru´ıdo presente na imagem de formas diferentes. Certos tipos de ru´ıdo

116 CAP´ITULO 5. CAP´ITULO DE PROCESSAMENTO DIGITAL DE IMAGEM

utiliza¸c˜ao de um ou mais filtros varia de caso para caso, j´a que nalguns podem ajudar

a ter uma imagem mais “limpa” e noutros podem “destruir” parte da informa¸c˜ao

presente na imagem.

O filtro mais simples ´e o filtro de m´edia (OpenCV Documentation), uma vez que

consiste em aplicar uma m´ascara `a imagem, cujos valores coeficientes s˜ao iguais a

um. Como os coeficientes tem o valor unit´ario, o valor do pixel central ´e igual `a

m´edia de todos os valores abrangidos pela m´ascara, tendo todos os valores o mesmo

peso.

Figura 5.6 – Exemplo do filtro de m´edia

A Figura5.6 demonstra de que forma se pode aplicar um filtro de m´edia. No filtro de m´edia, a janela utilizada atribui o mesmo peso a todos os pixeis que ser˜ao levados

em conta. Neste caso, como a janela ´e de 3×3, com valor unit´ario igual para todos os pixeis, o valor final do pixel ser´a igual `a soma do pr´oprio valor com os oito vizinhos

a dividir por 9. O valor do pixel para o exemplo da figura 5.6 foi obtido atrav´es do seguinte c´alculo:

5.2. BIBLIOTECA DE PROCESSAMENTO DIGITAL DE IMAGEM - OPENCV 117

Existem ainda filtros de m´edia ponderada, onde os coeficientes da m´ascara tˆem pesos

diferentes, dando mais importˆancia a certos valores do que a outros. Pesos diferentes

levam a resultados por vezes bastante diferentes. O resultado da aplica¸c˜ao de um

filtro deste tipo pode ser analisado na Figura 5.7

Figura 5.7 – Exemplo do filtro de m´edia ponderada

Neste caso a f´ormula ´e semelhante `a da m´edia, mas como os pesos dos pixeis da

janela s˜ao diferentes ´e necess´ario multiplicar cada valor do pixel pelo respetivo peso. ´

E poss´ıvel verificar o c´alculo do valor do pixel na f´ormula seguinte:

P = 20∗(−1)+3∗0+200∗1+41∗(−2)+50∗0+175∗2+74∗(−1)+89∗0+144∗19 = 57.556

Em certos casos surgem imagens com o ru´ıdo conhecido por “sal e pimenta”. Uma

forma simples, e por vezes muito eficaz, de remover este tipo de ru´ıdo ´e o filtro de

mediana. Este filtro define tamb´em uma vizinhan¸ca `a volta de um pixel central

e tem em conta os valores dos pixeis que o rodeiam. O filtro de mediana analisa

todos os valores da janela e ordena-os de forma crescente. O valor final do pixel ´e

o mesmo do valor central depois da ordena¸c˜ao. Isto faz com que pixeis brancos ou

118 CAP´ITULO 5. CAP´ITULO DE PROCESSAMENTO DIGITAL DE IMAGEM

rodeia n˜ao for predominantemente da mesma cor (branco ou preto), removendo-se

assim o ru´ıdo. A Figura 5.8 representa a forma como um filtro de mediana atua.

Figura 5.8 – Aplica¸c˜ao de um filtro de mediana

Um outro filtro de suaviza¸c˜ao ´e o gaussiano. Este ´e um dos mais ´uteis, embora n˜ao

seja o mais r´apido, e consiste em criar uma m´ascara cujos coeficientes variam de

acordo com uma fun¸c˜ao gaussiana em 2D. Assim como na fun¸c˜ao gaussiana em 2D,

os pixeis centrais tˆem um peso relativamente grande, enquanto que os mais afastados

tˆem um peso baixo, ou seja o pixel central tem muito peso na m´edia e `a medida que

nos afastamos os coeficientes v˜ao baixando.

Outro filtro interessante ´e o filtro bilateral (Figura 5.9) (OpenCV Documentation, 2016). Este ´e um filtro n˜ao linear, que permite reduzir o ru´ıdo e suavizar a imagem,

preservando os contornos principais (grandes/bruscas transi¸c˜oes de cor) da imagem.

Este filtro converte cada pixel numa m´edia ponderada dos seus vizinhos. O peso

atribu´ıdo a cada pixel diminui com a distˆancia na imagem (spatial domain S ) e a

5.2. BIBLIOTECA DE PROCESSAMENTO DIGITAL DE IMAGEM - OPENCV 119

Figura 5.9 – Aplica¸c˜ao de um filtro bilateral

um gaussiano Gσ como fun¸c˜ao que define os pesos e considerando uma imagem I

na escala dos cinzentos, o resultado Ibf da aplica¸c˜ao filtro bilateral define-se pela

f´ormula: Ibf p = 1 Wpbfq∈S GσS(||p − q||)GσR(|Ip− Iq|)Iq com Wpbf =∑ q∈S GσS(||p − q||)GσR(|Ip− Iq|)

O parˆametro σS define o tamanho da vizinhan¸ca a analisar enquanto σR controla

quanto um pixel adjacente ´e afetado com base na diferen¸ca de intensidades dos

mesmos. Ibf normaliza o somat´orio dos pesos.

A sua utiliza¸c˜ao tem aumentado e tem sido usado em v´arios contextos, como por

exemplo redu¸c˜ao de ru´ıdo (M. Aleksic,2006) (?) (C. Liu, 2006), edi¸c˜ao de texturas

e brilhos (B. M. Oh,2001), tratamento de tonalidades de cor (?) (F. Durand,2002)

(?) e personaliza¸c˜ao (H. Winnemoller, 2006).

Este m´etodo tem um conjunto de qualidades que explicam o seu sucesso:

• A sua formula¸c˜ao ´e simples: cada pixel ´e substitu´ıdo pela m´edia pesada dos seus vizinhos. Este aspeto ´e importante pois torna mais f´acil e intuitivo per-

120 CAP´ITULO 5. CAP´ITULO DE PROCESSAMENTO DIGITAL DE IMAGEM

ceber o seu funcionamento, sendo depois mais simples a sua adapta¸c˜ao a casos

mais espec´ıficos;

• Apenas depende de dois parˆametros, um que indica o tamanho do da vizi- nhan¸ca e outro o contraste a preservar;

• Pode ser utilizado de uma forma n˜ao iterativa. Isto faz com que os parˆametros sejam mais f´aceis de definir, j´a que o seu efeito n˜ao ´e acumulativo ao longo de

v´arias itera¸c˜oes.

No documento Instrumentação de um veículo submersível (páginas 145-150)