Algorithmen zum Downsampling eines Bildes?

10

Bicubic Sampling ist ziemlich gut, um ein Bild nach oben abzutasten und es zu vergrößern, aber ist es auch eine gute Wahl für das Abwärtsabtasten? Gibt es bessere Möglichkeiten?

Alan Wolfe
quelle
1
Diese beiden alten Artikel aus The Inner Product befassen sich mit Filtern für die Mipmap-Generierung, die für Sie relevant sein könnten: Link1 , Link2 .
Glampert

Antworten:

12

Als Sean und ich stb_image_resize geschrieben haben, haben wir Mitchell für das Downsizing ausgewählt. Mitchell ähnelt Cubic, Sie können über die kubische Klasse von Abtastfiltern in Mitchell Netravali 1988 lesen . Sie sind alle ziemlich ähnlich und führen zu sehr ähnlichen Ergebnissen.

Ich kann keine schriftliche Aufzeichnung zwischen Sean und mir darüber finden, warum wir uns für Mitchell entschieden haben, aber wenn der Speicher dient, haben wir nur eine Reihe von Bildern neu abgetastet und den Algorithmus verwendet, den wir für am besten hielten. Ich würde nicht sagen, dass es einen maßgeblichen oder besten Filter gibt. Sie sollten den Filter verwenden, der für Ihre Daten am besten aussieht.

Bearbeiten: Wie Joojaa sagt, ist ein Sinc-Filter mit Fenster auch gut, wenn auch nicht ganz so billig. Einige Implementierungen finden Sie hier .

Jorge Rodriguez
quelle
3
Es gibt einen autoritativ besten Filter, einen unendlich breiten Sinc-Filter. Es ist einfach nicht möglich, es zu benutzen. Bis zu diesem Zeitpunkt ist Lanczos Window Sinc eine gute Alternative zu michell
joojaa
Als Referenz gibt es auch die Nvidia-Bildwerkzeuge .
Glampert
Wenn Sie einen kubischen Filter oder einen Lanczos-Filter verwenden, funktionieren diese Typen beim Skalieren genauso gut wie beim Verkleinern?
Alan Wolfe
Ich habe keine Lanczos probiert, deshalb kann ich nicht mit ihnen sprechen. Wir haben Catmull-Rom für das Upscaling gewählt, das kubisch ist, und es hat gut funktioniert.
Jorge Rodriguez