Algoritmi per il down campionamento di un'immagine?


10

Il campionamento bicubico è abbastanza buono per campionare un'immagine e ingrandirla, ma è una buona scelta anche per il campionamento verso il basso? Ci sono scelte migliori?


1
Questi due vecchi articoli di The Inner Product parlano di filtri per la generazione di mipmap, che potrebbero essere rilevanti per te: Link1 , link2 .
glampert

Risposte:


12

Quando Sean e io abbiamo scritto stb_image_resize abbiamo scelto Mitchell per il ridimensionamento. Mitchell è simile a Cubic, puoi leggere della classe cubica di filtri di campionamento in Mitchell Netravali 1988 . Sono tutti abbastanza simili e otterrai risultati molto simili.

Non riesco a trovare alcuna traccia scritta tra Sean e io del perché abbiamo deciso di andare con Mitchell, ma se la memoria serve, abbiamo semplicemente ricampionato un mucchio di immagini e usato l'algoritmo che pensavamo fosse il migliore. Non direi che esiste un filtro autorevole o migliore, dovresti usare quello che si adatta meglio ai tuoi dati.

Modifica: Come dice joojaa, anche un filtro sinc con finestra è buono, se non altrettanto economico. Puoi trovare alcune implementazioni qui .


3
C'è un filtro autorevolmente migliore, è un filtro sinc infinitamente ampio. Non è possibile usarlo. fino a quando Lanczos Window Window Sinc è una buona alternativa a
Michele

Per riferimento, ci sono anche gli strumenti di immagine Nvidia .
glampert

Se stai usando un filtro cubic-esque o lanczos, quei ragazzi funzionano altrettanto bene per il ridimensionamento come per il ridimensionamento?
Alan Wolfe,

Non ho provato i lanczos, quindi non posso parlarne. Abbiamo scelto catmull-rom per l'upscaling, che è un cubo, e ha funzionato bene.
Jorge Rodriguez
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.