Question

La question que nous essayons de résoudre le problème de la localisation d'un point dans deux représentations différentes d'un avion. Le premier plan que nous avons est mis en rotation pour créer une perspective; la seconde est une vue 2d de ce même plan. Nous avons 4 points sur chacun des plans que nous savons être équivalent. La question est de savoir si nous avons un point arbitraire dans le plan 1, comment pouvons-nous trouver le point correspondant dans le plan 2?

Il est préférable sans doute pour illustrer le cas d'utilisation afin de mieux clarifier la question. Nous avons une image illustrée sur la gauche.

plan projectif

text alt

2D mise en page diagramme d'espace

text alt

Ainsi, les Givens que nous avons sont les carrés rouges des deux images. Notez que, si possible, je voudrais qu'il soit possible que l'espace 2D est pas nécessairement un carré. Ceux-ci nous sont disponibles à l'avance et connu. J'ai aussi des points verts disposés sur le plan dans la première image. Je voudrais pouvoir faire une projection du point dans l'image 1 sur l'espace dans l'image 2.

Notez également pour l'image 1 Je n'ai pas une fenêtre définie ou la position des yeux. Je sais que le carré rouge de l'image 1 est une transformation de l'image de forme carrée rouge 2 et que l'image 2 est dans l'espace 2D.

Était-ce utile?

La solution

Ceci est un cas particulier de trouver des correspondances entre les quadrilatères qui préservent les lignes droites. Ceux-ci sont généralement appelés homographes transformées. Ici, l'un des quadriceps est un carré, donc c'est un cas particulier populaire. Vous pouvez google ces termes ( « quad quad », etc.) pour trouver des explications et le code, mais voici quelques-uns pour vous.

Perspective Transformer Estimation

une discussion de forum de jeu

extraire une image d'un quadrilatère rectangle

projective gauchissement & Mapping

ProjectiveMappings pour ImageWarping par Paul Heckbert.

Le calcul est pas particulièrement agréable, mais il est pas difficile non plus. Vous pouvez également trouver un code de l'un des liens ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top