# Filtro de Kuwahara

É um filtro de suavização não linear que age sobre as imagens, sem comprometer sua nitidez e as posições das bordas e, por isso, é conhecido por ser um tradicional filtro de preservação de bordas de desfoque. Basicamente, trabalha dividindo uma janela em quatro sub-janelas que se sobrepõem. Em cada sub-janela são calculadas uma média e uma variância. O valor de saída é definido como a média da sub-janela com a menor variação e esse valor será atribuído ao pixel central de cada região analisada pelo algoritmo. De acordo com, o filtro de Kuwahara pode ser implementado por uma grande variedade de formas em relação à divisão de suas janelas.

## Operador de Kuwahara

Considerando que $I(x,y)$ é uma imagem de escala de cinza e que temos uma janela quadrada de tamanho $2a+1$ centrada em torno de um ponto $(x,y)$ na imagem. Este quadrado pode então ser dividido em quatro outras sub-regiões menores e quadradas $Q_{i=1\cdots 4}$ sendo cada uma definida por:
    $Q_{i}(x,y)={\begin{cases}\left[x,x+a\right]\times \left[y,y+a\right]&{\mbox{ if }}i=1\\\left[x-a,x\right]\times \left[y,y+a\right]&{\mbox{ if }}i=2\\\left[x-a,x\right]\times \left[y-a,y\right]&{\mbox{ if }}i=3\\\left[x,x+a\right]\times \left[y-a,y\right]&{\mbox{ if }}i=4\\\end{cases}}$
Onde $\times$ é o produto cartesiano. Pode-se notar que os pixels localizados nas fronteiras entre duas regiões pertencem a ambas as regiões resultando em uma sobreposição entre as sub-regiões.
A média aritmética $m_{i}(x,y)$ e o desvio padrão $\sigma _{i}(x,y)$ das quatro regiões centradas em torno de um elemento de imagem (x, y) são calculadas e usadas para determinar o valor do pixel central. A saída do filtro Kuwahara $\Phi (x,y)$ para qualquer ponto $(x,y)$ é então dada por:
$\Phi (x,y)={\begin{cases}m_{1}(x,y)&{\mbox{ if }}\sigma _{1}(x,y)=min_{i}{\mbox{ }}\sigma _{i}(x,y)\\m_{2}(x,y)&{\mbox{ if }}\sigma _{2}(x,y)=min_{i}{\mbox{ }}\sigma _{i}(x,y)\\m_{3}(x,y)&{\mbox{ if }}\sigma _{3}(x,y)=min_{i}{\mbox{ }}\sigma _{i}(x,y)\\m_{4}(x,y)&{\mbox{ if }}\sigma _{4}(x,y)=min_{i}{\mbox{ }}\sigma _{i}(x,y)\\\end{cases}}$
Isto significa que o pixel central terá o valor médio da área mais homogênea. A localização do pixel em relação a borda desempenha um grande papel na determinação de qual região terá o maior desvio padrão. Se, por exemplo, o elemento de imagem está localizado num lado escuro de uma borda provavelmente ele vai tomar o valor médio da região mais escura. Por outro lado, caso o pixel estiver localizado na região do lado mais claro da borda ele provavelmente terá o valor médio da região mais clara. No caso em que o pixel estiver localizado na extremidade ele então irá tomar o valor da região mais clara (menos texturizada). O fato de que o filtro leva em conta a homogeneidade das regiões, garante que ele preserve as bordas, enquanto a utilização da média provoca o efeito de desfocagem das imagens.
O tamanho da janela é escolhido com antecedência e pode variar dependendo do nível desejado de borrão na imagem final. Janelas maiores normalmente resultam na criação de imagens mais abstratas e pequenas janelas produzem imagens que conservam melhor seus detalhes (imagens menos abstratas). Normalmente escolhe-se janelas para produzir quadrados com lados que têm um número ímpar de pixels, devido a simetria. No entanto, isso não é uma regra pois podem existir variações do filtro Kuwahara que usam janelas retangulares. Além disso, as sub-regiões não precisam se sobrepor ou ter o mesmo tamanho, desde que elas cubram toda a janela.

## Imagens Coloridas

Normalmente o filtro não pode ser usado para imagens coloridas. Não é possível efetuar a aplicação do filtro para cada um dos canais RGB separadamente e, em seguida, utilizando os três canais resultantes recompor a imagem. O principal problema ao fazer isso é que as sub-regiões terão diferentes variações para cada um dos canais. Por exemplo, uma região com menor variação no canal vermelho pode ter maior variação no canal verde. Isto faz com que gere uma ambiguidade no resultado da cor do pixel central determinado pela interseção de várias regiões, e que por vez também pode resultar em bordas mais desfocadas.
Para resolver este problema em imagens coloridas, pode-se utilizar um filtro Kuwahara ligeiramente modificado. Este filtro também deve levar em conta o "brilho" (o valor da coordenada no modelo de cores HSV ) de cada pixel na região. Deste modo, apenas a variação do "brilho" de cada sub-região é calculado juntamente com a média para cada canal de cor. O filtro então irá produzir uma saída para cada canal, que corresponderá à média do referido canal para cada sub-região com a menor variação de "brilho". Isto garante que apenas uma região irá determinar os valores "RGB" do pixel central.

## Aplicações

Originalmente o filtro Kuwahara foi proposto para utilização no processamento de imagens RI-angiocardiográfico do sistema cardiovascular. O fato de que todas as bordas são preservadas quando aplicado o filtro torna-se especialmente útil para extração de características e segmentação e explica por que ele é usado em imagiologia médica.
O filtro Kuwahara, contudo, também encontra muitas aplicações em imagem artística e fotografia, devido a sua capacidade de remover texturas e aguçar as bordas das imagens. O nível de abstracção ajuda a criar um efeito de pintura do tipo desejável em fotografias especialmente no caso da versão colorida (modificada) do filtro. Estas aplicações têm conhecido grande sucesso e tem incentivado a investigação semelhante na área de processamento de imagem para as artes. A aplicação em uma imagem colorida nos fornece uma imagem com a aparência de pintura artística.

## Exemplos Práticos

Abaixo mostraremos imagens coloridas cuja aplicação do filtro foi efetuada através do software livre ImageJ. Será mostrado a imagem original e a aplicação do filtro para diferentes quantitativos de janelas, lembrando que quanto maior a quantidade de janelas mais abstrata será o resultado da imagem. Será demonstrado também um passo a passo para (tutorial) para utilização do filtro no ImageJ.

### Exemplo 1

| Imagem original utilizada para aplicar filtro de kuwahara | Imagem com filtro de Kuwahara aplicado com ajuste de 9 janelas | Imagem com filtro de Kuwahara aplicado com ajuste de 21 janelas |

### Exemplo 2

| Imagem original utilizada para aplicar filtro de Kuwahara | Imagem com filtro de Kuwahara aplicado com ajuste de 9 janelas | Imagem com filtro de Kuwahara aplicado com ajuste 21 janelas |