L'interpolation de pixels bicubiques est apparemment bonne pour augmenter ou réduire une image (en temps réel ou non).
Est-il recommandé d'utiliser un filtre passe-bas avant de réduire la taille, ou l'échantillonnage bicubique gère-t-il les problèmes d'aliasing?
Réponses:
Si le passage de sous-échantillonnage est correctement conçu, il effectuera efficacement le filtrage passe-bas dans le cadre du sous-échantillonnage. Il n'y a pas besoin d'une opération de filtre passe-bas séparée.
Essentiellement, lorsque vous sous-échantillonnez, vous effectuez un filtre sur les pixels de l'image source (haute résolution), mais vous l'évaluez uniquement aux emplacements des pixels de destination (basse résolution). L'empreinte de ce filtre doit être approximativement l'espacement entre les pixels de destination, pour éviter de manquer des informations en sautant entre les pixels source. Mais cela signifie que l'encombrement du filtre sera de plusieurs pixels source, de sorte qu'il passera efficacement la source.
Par exemple, supposons que vous sous-échantillonniez une image exactement 10x sur chaque axe. Avec un filtre en forme de boîte (par exemple pour le bien), vous définiriez chaque pixel de destination à la moyenne d'une boîte de 10 x 10 pixels source. Cela éliminerait toutes les fonctionnalités inférieures à 10 pixels, il s'agit donc en fait d'un filtre passe-bas.
Vous parlez d'interpolation bicubique; nous devons faire une distinction entre filtrage et interpolation ici. L'interpolation est appropriée pour le suréchantillonnage, pas pour le sous-échantillonnage. L'interpolation bicubique fonctionne en ajustant un patch spline bicubique à un voisinage 4x4 de pixels, puis en évaluant le patch aux points interpolés. Bien que cela puisse fonctionner assez bien pour sous-échantillonner les images d'un petit facteur (jusqu'à 2x environ), il échouera si vous allez beaucoup plus loin. Par exemple, si le sous-échantillonnage est 10x comme dans l'exemple précédent, vous pouvez voir que bicubic manquera la majorité des pixels source, et le résultat peut être assez aliasé.
D'un autre côté, le filtrage bicubique n'est qu'un filtrage standard, utilisant un noyau qui est une fonction bicubique (par opposition à un noyau box, triangle, gaussien, Lanczos, etc.). Le noyau Mitchell-Netravali est l'exemple classique de ce type. S'il est utilisé pour le sous-échantillonnage, le noyau doit être dimensionné de manière appropriée pour l'espacement des pixels de destination, comme indiqué précédemment, et vous additionneriez tous les pixels de l'empreinte, pas seulement un 4x4 ou un autre voisinage de taille fixe.
la source