Bilinear es el método más utilizado y puede ejecutarse tan rápido como el algoritmo de muestreo descendente vecino más cercano, que es el más rápido pero el menos preciso.
El problema con una implementación ingenua de muestreo bilineal es que si lo usa para reducir una imagen en más de la mitad, puede encontrar artefactos de aliasing similares a los que encontraría con el vecino más cercano. La solución a esto es usar un enfoque basado en la pirámide. Básicamente, si desea reducir 600x600 a 30x30, primero reduzca a 300x300, luego a 150x150, luego a 75x75, luego a 38x38, y solo luego use bilineal para reducir a 30x30.
Al reducir una imagen a la mitad, el algoritmo de muestreo bilineal se vuelve mucho más simple. Básicamente para cada fila alterna y la columna de píxeles:
y[i/2][j/2] = (x[i][j] + x[i+1][j] + x[i][j+1] + x[i+1][j+1])/4;
Eso son muchas preguntas para una pregunta. –
Independientemente de la elección que elija, el recorte de imagen debe hacerse con cuidado y compasión. Recuerde: las imágenes también tienen familias. –