Há alguns meses, fiquei surpreso ao descobrir que minha câmera de visão por computador SDK usava a "interpolação" do vizinho mais próximo em sua função de incorporador. É o tipo mais rápido, mas o pior, fornecendo arestas duras, especialmente quando você começa a fazer cálculos nos canais de imagem para constância de cores ou invariância de brilho. Eu encontrei esta revisão de algoritmos:
http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf
O próximo passo é a interpolação bilinear e bicúbica, que pode ser calculada com bastante rapidez, porque se trata apenas de núcleos de convolução. Eles proporcionam dentes de serra coloridos em bordas inclinadas - bilineares mais que bicúbicas.
Pode ser visto neste artigo, e com dados de qualidade quantificados em 5 algoritmos diferentes:
http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf
É por isso que eles fizeram interpolações baseadas na direção da borda. No entanto, eles tratam o verde como um "canal importante" (já que ele tem a melhor resolução e é responsável pela maior parte da nossa sensibilidade visual e da resolução dos olhos). E então eles criam azul e vermelho em função do canal verde, preservando a tonalidade. Isso, por sua vez, torna o conteúdo de alta frequência do canal verde mais propenso a erros. A complexidade é maior, pois eles precisam detectar o que está acontecendo e exigir vários passes. Moiré e milho são artefatos comuns desses tipos de interpolação.
Aqui eles mostram exemplos de desmossificação adaptativa da homogeneidade e versões bilineares com e sem addons de preservação de matiz e preservação de borda:
http://math.auburn.edu/~kilgota/ahd_bayer.pdf
Esse artigo favorece o AHD e não mostra a parte negativa. Nesta página, você pode ver os diferentes artefatos de padrão de Desmossificação adaptativa da homogeneidade, agrupamento de pixels padronizados e número variável de gradientes (passe o mouse sobre os nomes):
http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html
Em resumo, existem várias suposições empregadas nesses algoritmos, e os artefatos ocorrem quando a suposição não é válida:
- Suavidade por canal. Se os vizinhos mais próximos não forem os mesmos, faça a transição suave. Artefato: serras / zíperes, suavidade
- Constância de brilho com bordas direcionadas (direção bilinear). Artefatos: moiré de textura de alta frequência, franjas de cores
- Constância de matiz. se em uma vizinhança o matiz é o mesmo, então, se um canal muda, os outros devem seguir. Artefatos: zíperes de cores nas bordas das cores
- A constância pode ser prevista a partir dos verdes. Artefato: labirintos