La méthode d'interpolation bilinéaire pour agrandir les images bitmap

Je suis étudiant, et j'ai été chargé d'optimiser la méthode d'interpolation bilinéaire des images en invoquant le parallélisme de CUDA.

L'image est donnée comme un 24-bit .format bmp. J'ai déjà un lecteur pour le .bmp et ont stocké les pixels dans un tableau.

Maintenant, j'ai besoin pour effectuer l'interpolation bilinéaire sur le tableau. Je ne comprends pas le calcul derrière tout ça (même après être passé par le l'article wiki et d'autres résultats de Google). De ce fait je ne suis pas en mesure de venir avec un algorithme.

Est-il quelqu'un qui peut m'aider avec un lien à un algorithme d'interpolation bilinéaire sur un 1-D tableau? Ou peut-être lien vers l'open source de traitement d'image de la bibliothèque qui utilise bilinéaire et bicubique d'interpolation pour la mise à l'échelle des images?

Vous avez été chargé de rédiger votre propre, si?
N'est-ce pas la méthode d'interpolation bilinéaire, par définition, signifie pour la 2D tableaux?
Pour la 2-D des images. Mais une image 2-D peut être mappé sur un 1-D array (c'est très rare de trouver des applications C++ à l'aide de véritables tableaux 2d).
Très vrai, mais c'est toujours théoriquement d'une matrice.
Comprenez-vous les mathématiques derrière simple interpolation linéaire si? Si vous comprenez cela, vous l'aurez compris, avec un peu plus de pensée. Il n'est pas aussi compliqué que vous le pensez...

OriginalL'auteur f0rfun | 2012-01-10