2010-08-13 4 views

Répondre

2

'lerp'ing est juste un moyen d'évaluer une valeur intermédiaire. Par exemple, si une valeur était 10 et la suivante était 8, une fonction 'lerp' pourrait renvoyer 9. Il y a plusieurs façons de faire l'estimation - linéaire, trigonométrique, etc. À sa plus simple, linéaire, vous prenez juste (distance from value 1 * value 1) + (distance from value 2 * value 2) où la distance est comprise entre 0 et 1.

Dans le traitement d'image, cela se fait avec les valeurs de couleur entre les pixels. Par exemple, si vous zoomez à 100%, vous utiliserez une fonction lerp pour déterminer ce qu'il faut dessiner dans les zones représentant des pixels partiels.

Je devrais ajouter, j'ai regardé cet article, et il fait référence au bruit de Perlin. Dans ce type d'algorithme, les fonctions de lerp'ing sont utilisées assez largement pour calculer des valeurs entre des points où des données existent qui peuvent être passées dans l'algorithme de perlin ou fractal pour générer une valeur pour ce point intermédiaire.

0

Comment le synthétiseriez-vous? En utilisant la fonction. La fonction vous donnerait la sortie pour des entrées données à n'importe quel pixel. Interpoler deux images n'a cependant aucun sens, vous êtes probablement intéressé par l'interpolation pour le redimensionnement. Il a aussi des propriétés intéressantes. Un interpolateur sinc est équivalent à exécuter l'image à travers un filtre passe-bas de mur de briques dans l'espace de fréquence.

Pour deux images, votre fonction effectue une sorte d'addition ou de moyennage, ce qui vous intéresse. Si vous synthétisez quelque chose, l'interpolation équivaut à l'exécuter à travers un filtre passe-bas. Par exemple, si deux images sont échantillonnées à des débits différents et que vous souhaitez les mettre l'une sur l'autre, vous voudrez interpoler le débit le plus bas sur l'image échantillonnée à taux plus élevé.

0

Qu'est-ce qu'un lerp et

lerp (facteur, a, b) = facteur * a + (1,0 - factor) * b

où le facteur est dans la gamme [0, 1.0]

Voir wikipedia

comment vous synthétiser une image en utilisant un si vous donne deux images en tant qu'entrées?

Vous avez besoin de deux images source (src1, src2) et d'une image de destination (dst) de taille égale. Plus facteur d'interpolation.

Ensuite, pour chaque pixel faire (couleur RVB):

dst[x][y].r = lerp(factor, src1[x][y].r, src2[x][y].r) 
dst[x][y].g = lerp(factor, src1[x][y].g, src2[x][y].g) 
dst[x][y].b = lerp(factor, src1[x][y].b, src2[x][y].b) 
Questions connexes