La ImageResize
función de Mathematica soporta muchos métodos de remuestreo .
Al no estar familiarizado con esta área, más allá del vecino más cercano, bilineal, biquadratic y bicubic (que son obvios por el nombre), estoy perdido.
¿Puede señalarme alguna fuente que explique las diferencias básicas (matemáticas) entre estos métodos y, en particular, señalar las diferencias prácticas (por ejemplo, mostrando imágenes de muestra donde la elección del método realmente importa e introduce diferencias notables)?
No tengo un fondo de procesamiento de señal, por lo que preferiría una introducción "suave" y concisa :-)
Copiaré aquí la lista de ImageResize
métodos para que los "perezosos" hagan clic en el enlace:
Muestreo vecino más cercano "más cercano"
Interpolación bilineal "bilineal"
Interpolación biquadrática de spline "biquadratic"
Interpolación de estrías bicúbicas "bicúbicas"
Muestreo gaussiano "gaussiano"
"Lanczos" Lanczos método de interpolación multivariante
Interpolación de coseno "coseno"
Interpolación de Hamming de coseno elevado "Hamming"
"Hann" interpolación Hann de coseno elevado
Coseno elevado generalizado de tres términos "Blackman"
Interpolación de ventana triangular "Bartlett"
"Connes" al cuadrado de la interpolación de Welch
"Welch" Welch interpolación cuadrática
Interpolación cúbica por partes "Parzen"
Interpolación de Bessel modificada de orden cero "Kaiser"
fuente
Respuestas:
Al igual que con las funciones de ventana para señales temporales, es fácil obtener una idea general de lo que hace un núcleo de interpolación de imágenes al observar su respuesta de frecuencia. De mi respuesta sobre las funciones de la ventana :
Esto es bastante cierto para los núcleos de interpolación. La elección es básicamente una compensación entre el filtrado de frecuencia (atenuación de los lóbulos laterales), la localización espacial (ancho del lóbulo principal) y la reducción de otros efectos como el timbre (efecto Gibbs), alias, desenfoque, etc. Por ejemplo, un núcleo con oscilaciones tales ya que el núcleo sinc y el núcleo Lanczos4 introducirán " timbres " en la imagen, mientras que un remuestreo gaussiano no introducirá timbres.
Aquí hay un ejemplo simplificado en Mathematica que le permite ver los efectos de diferentes funciones de interpolación:
true
small
Puedes ver por ti mismo que diferentes funciones de interpolación tienen diferentes efectos. El más cercano y algunos otros tienen características muy gruesas y esencialmente puede ver líneas irregulares (vea la imagen a tamaño completo, no la pantalla de cuadrícula). Bicubic, biquadratic y Parzen superan esto, pero introducen un gran desenfoque. De todos los núcleos, Lanczos parece (visualmente) ser el más atractivo y uno que hace el mejor trabajo del lote.
Intentaré ampliar esta respuesta y proporcionar ejemplos más intuitivos que demuestren las diferencias cuando tenga tiempo. Es posible que desee leer este artículo bastante sencillo e informativo que encontré en la web (advertencia en PDF).
fuente