Algoritmos para amostragem abaixo de uma imagem?

10

A amostragem bicúbica é muito boa para amostrar uma imagem e aumentá-la, mas também é uma boa opção para amostragem para baixo? Existem melhores opções?

Alan Wolfe
fonte
1
Estes dois artigos antigos do The Inner Product falam sobre filtros para geração de mipmap, que podem ser relevantes para você: Link1 , link2 .
glampert

Respostas:

12

Quando Sean e eu escrevemos stb_image_resize , escolhemos Mitchell para o downsizing. Mitchell é semelhante ao Cubic, você pode ler sobre a classe cúbica de filtros de amostragem em Mitchell Netravali 1988 . Eles são todos muito semelhantes e você obterá resultados muito semelhantes.

Não consigo encontrar nenhum registro escrito entre Sean e eu sobre o motivo pelo qual decidimos ir com Mitchell, mas, se a memória serve, apenas reamostramos várias imagens e usamos o algoritmo que achamos melhor. Eu não diria que existe um filtro autoritativo ou melhor, você deve usar o que fica melhor em seus dados.

Edit: Como joojaa diz, um filtro sinc com janelas também é bom, se não tão barato. Você pode encontrar algumas implementações aqui .

Jorge Rodriguez
fonte
3
Existe um filtro autoritariamente melhor, é um filtro sinc infinitamente amplo. Simplesmente não é possível usá-lo. untill que lanczos tempo janelas sinc é uma boa alternativa para Michell
joojaa
Para referência, há também as ferramentas de imagem da Nvidia .
glampert
Se você estiver usando um filtro de estilo cúbico ou lanczos, esses caras funcionam igualmente bem para aumentar ou diminuir o tamanho?
Alan Wolfe
Eu não tentei lanczos, então não posso falar sobre isso. Escolhemos catmull-rom para upscaling, que é cúbico e funcionou bem.
Jorge Rodriguez