A interpolação de imagens ocorre em todas as fotos digitais em algum estágio - seja no demosaicing bayer ou na ampliação da foto. Isso acontece sempre que você redimensiona ou remapeia (distorce) sua imagem de uma grade de pixels para outra. O redimensionamento da imagem é necessário quando você precisa aumentar ou diminuir o número total de pixels, enquanto o remapeamento pode ocorrer em uma variedade maior de cenários:correção de distorção da lente, alteração de perspectiva e rotação de uma imagem.
Mesmo que o mesmo redimensionamento ou remapeamento da imagem seja realizado, os resultados podem variar significativamente dependendo do algoritmo de interpolação. É apenas uma aproximação, portanto uma imagem sempre perderá alguma qualidade cada vez que a interpolação for realizada. Este tutorial visa fornecer uma melhor compreensão de como os resultados podem variar — ajudando você a minimizar quaisquer perdas induzidas por interpolação na qualidade da imagem.
CONCEITO
A interpolação funciona usando dados conhecidos para estimar valores em pontos desconhecidos. Por exemplo:se você quiser saber a temperatura ao meio-dia, mas apenas medi-la às 11h e 13h, pode estimar seu valor realizando uma interpolação linear:
Se você tivesse uma medição adicional às 11h30, poderia ver que a maior parte do aumento de temperatura ocorreu antes do meio-dia e poderia usar esse ponto de dados adicional para realizar uma interpolação quadrática:
Quanto mais medições de temperatura você tiver perto do meio-dia, mais sofisticado (e esperançosamente mais preciso) seu algoritmo de interpolação pode ser.
EXEMPLO DE REDIMENSIONAMENTO DE IMAGEM
A interpolação de imagem funciona em duas direções e tenta obter a melhor aproximação da cor e intensidade de um pixel com base nos valores dos pixels ao redor. O exemplo a seguir ilustra como funciona o redimensionamento/ampliação:
Ampliar 183%
→
Ao contrário das flutuações de temperatura do ar e do gradiente ideal acima, os valores de pixel podem mudar muito mais abruptamente de um local para outro. Assim como no exemplo da temperatura, quanto mais você souber sobre os pixels ao redor, melhor será a interpolação. Portanto, os resultados se deterioram rapidamente quanto mais você estica uma imagem, e a interpolação nunca pode adicionar detalhes à sua imagem que ainda não estejam presentes.
EXEMPLO DE ROTAÇÃO DE IMAGEM
A interpolação também ocorre cada vez que você gira ou distorce uma imagem. O exemplo anterior foi enganoso porque é um em que os interpoladores são particularmente bons. Este próximo exemplo mostra como os detalhes da imagem podem ser perdidos rapidamente:
Original
Rotação
→
Rotação de 45°
Rotação de 90°
(Sem perdas)
2 X 45°
Rotações
6 X 15°
Rotações
A rotação de 90° é sem perdas porque nenhum pixel precisa ser reposicionado na borda entre dois pixels (e, portanto, dividido). Observe como a maioria dos detalhes é perdida apenas na primeira rotação, embora a imagem continue a se deteriorar com rotações sucessivas. Portanto, deve-se
evitar girar suas fotos sempre que possível; se uma foto desnivelada exigir, gire não mais de uma vez.
Os resultados acima usam o que é chamado de algoritmo "bicúbico" e mostram uma deterioração significativa. Observe a diminuição geral no contraste evidente pela cor tornando-se menos intensa e como halos escuros são criados em torno do azul claro. Os resultados acima podem ser melhorados significativamente, dependendo do algoritmo de interpolação e do assunto.
TIPOS DE ALGORITMOS DE INTERPOLAÇÃO
Os algoritmos de interpolação comuns podem ser agrupados em duas categorias:adaptativos e não adaptativos. Os métodos adaptativos mudam dependendo do que estão interpolando (bordas nítidas versus textura suave), enquanto os métodos não adaptativos tratam todos os pixels igualmente.
Algoritmos não adaptáveis incluem:vizinho mais próximo, bilinear, bicúbico, spline, sinc, lanczos e outros. Dependendo de sua complexidade, eles usam de 0 a 256 (ou mais) pixels adjacentes ao interpolar. Quanto mais pixels adjacentes eles incluem, mais precisos eles podem se tornar, mas isso ocorre às custas de um tempo de processamento muito maior. Esses algoritmos podem ser usados para distorcer e redimensionar uma foto.
Original
Alargado 250%
Algoritmos adaptativos incluem muitos algoritmos proprietários em software licenciado como:Qimage, PhotoZoom Pro, Genuine Fractals e outros. Muitos deles aplicam uma versão diferente de seu algoritmo (em uma base pixel por pixel) quando detectam a presença de uma borda - com o objetivo de minimizar artefatos de interpolação desagradáveis em regiões onde eles são mais aparentes. Esses algoritmos são projetados principalmente para maximizar detalhes sem artefatos em fotos ampliadas, portanto, alguns não podem ser usados para distorcer ou girar uma imagem.
INTERPOLAÇÃO DO VIZINHO MAIS PRÓXIMO
O vizinho mais próximo é o mais básico e requer o menor tempo de processamento de todos os algoritmos de interpolação porque considera apenas um pixel — o mais próximo do ponto interpolado. Isso tem o efeito de simplesmente tornar cada pixel maior.
INTERPOLAÇÃO BILINEAR
A interpolação bilinear considera a vizinhança 2x2 mais próxima de valores de pixel conhecidos ao redor do pixel desconhecido. Em seguida, leva uma média ponderada desses 4 pixels para chegar ao seu valor interpolado final. Isso resulta em imagens muito mais suaves do que o vizinho mais próximo.
O diagrama à esquerda é para um caso em que todas as distâncias de pixels conhecidas são iguais, de modo que o valor interpolado é simplesmente sua soma dividida por quatro.
INTERPOLAÇÃO BICUBICA
Bicubic vai um passo além do bilinear, considerando a vizinhança 4x4 mais próxima de pixels conhecidos - para um total de 16 pixels. Uma vez que estes estão a várias distâncias do pixel desconhecido, os pixels mais próximos recebem um peso maior no cálculo. Bicubic produz imagens visivelmente mais nítidas do que os dois métodos anteriores e talvez seja a combinação ideal de tempo de processamento e qualidade de saída. Por esta razão, é um padrão em muitos programas de edição de imagem (incluindo Adobe Photoshop), drivers de impressora e interpolação na câmera.
INTERPOLAÇÃO DE ORDEM SUPERIOR:SPLINE &SINC
Existem muitos outros interpoladores que levam em consideração mais pixels circundantes e, portanto, também são muito mais intensivos em computação. Esses algoritmos incluem spline e sinc e retêm a maior parte das informações da imagem após uma interpolação. Eles são, portanto, extremamente úteis quando a imagem requer várias rotações/distorções em etapas separadas. No entanto, para ampliações ou rotações em uma única etapa, esses algoritmos de ordem superior fornecem uma melhoria visual decrescente à medida que o tempo de processamento aumenta.
ARTEFATOS DE INTERPOLAÇÃO A SEREM OBSERVADOS
Todos os interpoladores não adaptativos tentam encontrar um equilíbrio ideal entre três artefatos indesejáveis:halos de borda, desfoque e aliasing.
Original Ampliado
400%
→
Aliasing
Desfocagem
Edge Halo
Mesmo os interpoladores não adaptativos mais avançados sempre precisam aumentar ou diminuir um dos artefatos acima às custas dos outros dois - portanto, pelo menos um será visível. Observe também como a auréola da borda é semelhante ao artefato produzido pelo excesso de nitidez com uma máscara de nitidez e melhora a aparência da nitidez aumentando a acuidade.
Os interpoladores adaptativos podem ou não produzir os artefatos acima, mas também podem induzir texturas sem imagem ou pixels estranhos em pequenas escalas:
OriginalAmpliado
220%
→
Interpolação adaptativa
Por outro lado, alguns desses "artefatos" de interpoladores adaptativos também podem ser vistos como benefícios. Como o olho espera ver detalhes até as menores escalas em áreas de textura fina, como folhagens, esses padrões foram argumentados para enganar o olho à distância (para alguns assuntos).
ANTI-ALIASING
Anti-aliasing é um processo que tenta minimizar a aparência de bordas diagonais serrilhadas ou irregulares, denominadas "jaggies". Estes dão ao texto ou às imagens uma aparência digital aproximada:
Ampliado 300%
(Com Aliasing)
Ampliado 300%
(Sem alias)
O anti-aliasing remove essas irregularidades e dá a aparência de bordas mais suaves e resolução mais alta. Ele funciona levando em consideração o quanto uma borda ideal se sobrepõe aos pixels adjacentes. A borda com alias simplesmente arredonda para cima ou para baixo sem valor intermediário, enquanto a borda com alias fornece um valor proporcional a quanto da borda estava dentro de cada pixel:
Diagonal perfeita
Escolha: | Apelido | Anti-aliased |
Reamostrado para baixa resolução
Um grande obstáculo ao ampliar uma imagem é impedir que o interpolador induza ou exacerbe o aliasing. Muitos interpoladores adaptativos detectam a presença de arestas e ajustam-se para minimizar o aliasing, mantendo a nitidez das arestas. Como uma borda com suavização de serrilhado contém informações sobre a localização dessa borda em resoluções mais altas, também é concebível que um poderoso interpolador adaptativo (detecção de borda) possa reconstruir pelo menos parcialmente essa borda ao ampliar.
NOTA SOBRE ZOOM ÓPTICO vs. DIGITAL
Muitas câmeras digitais compactas podem executar tanto um zoom óptico quanto um zoom digital. Uma câmera realiza um zoom óptico movendo a lente de zoom para aumentar a ampliação da luz antes mesmo de atingir o sensor digital. Em contraste, um zoom digital degrada a qualidade simplesmente interpolando a imagem — depois que ela é adquirida no sensor.
Zoom óptico de 10X
Zoom digital 10X
Mesmo que a foto com zoom digital contenha o mesmo número de pixels, o detalhe é claramente muito menor do que com zoom óptico.
O zoom digital deve ser quase totalmente evitado , a menos que ajude a visualizar um objeto distante na tela de visualização LCD da sua câmera. Alternativamente, se você fotografa regularmente em JPEG e planeja cortar e ampliar a foto depois, o zoom digital pelo menos tem o benefício de realizar a interpolação antes que qualquer artefato de compressão seja definido. add-on, ou melhor ainda:uma lente com uma distância focal maior.
Para ler mais, visite tutoriais mais específicos sobre:
Ampliação de fotos digitais
Redimensionamento de imagem para a Web e e-mail