2015-03-31 5 views
0

J'ai une affiche dans l'image du monde. Je dois remplacer l'affiche avec ma propre image. Laisser l'affiche dans l'image du monde avoir les points A, B, C, D. Mes propres coordonnées d'image sont a, b, c, d. L'idée est de calculer une matrice d'homographie telle que a = HA, b = HB, c = HC, d = HD. Après cela, j'applique H^-1 à mon image et je les transforme en poster dans l'image du monde. J'ai vu quelques livres, des conférences comme celle-ci. Pourquoi je ne peux pas calculer une homographie H 'telle que A = H'a, B = H'b et ainsi de suite. Pourquoi trouver H et ensuite son inverse et non directement H '. Y a-t-il un problème avec ça?Calcul de la matrice d'homographie

Répondre

2

En fait, il n'y a pas de différence entre trouver H et l'inverser, ou trouver directement H^-1. Habituellement, il vaut mieux éviter l'inversion pour accélérer l'algorithme et réduire l'accumulation d'erreurs numériques.

Je ne vois aucune raison «réelle» d'utiliser l'inversion comme vous l'avez décrit. Peut-être que les auteurs l'ont fait par souci de clarté, ou de conventions de notation.

Aussi, généralement lorsque vous déformer une image en utilisant une homographie - il est inversé sous le capot. Ainsi, au lieu de calculer les «nouvelles» coordonnées pour les points de l'image originale et d'y écrire les couleurs de la source, vous itérez sur les pixels de l'image de destination et voyez où prendre les valeurs de couleur dans l'image source. De cette façon, vous pouvez éviter d'écrire plusieurs fois sur le même pixel (si vous redimensionnez une image) ou de produire une image clairsemée (lors de la mise à l'échelle).

Si vous postez les sources exactes où vous avez vu cette conversion inutile - nous pouvons vous donner des commentaires plus utiles.