2010-05-11 4 views
1

J'ai une photo d'une pièce avec trois murs et un plancher/plafond ou les deux. J'essaie de reconstruire cette pièce en 3D en demandant à l'utilisateur une contribution minimale. En ce moment j'utilise 8 points définis par l'utilisateur, angles de gauche et de droite (ils peuvent être très différents de 90) et une taille "InLeftBottom-InRightBottom" (j'ai besoin d'avoir la taille réelle de cette pièce pour une utilisation ultérieure). Je n'ai aucune information sur l'appareil photo de l'utilisateur (je peux lire EXIF ​​pour obtenir un champ de vision et utiliser une hauteur constante, mais cela ne peut être utilisé que comme information supplémentaire).Reconstruction d'un environnement 3D simple (pièce) à partir de la photo

http://img85.imageshack.us/img85/9141/91747505.png

Est-ce possible de demander à l'utilisateur moins d'informations? Peut-être qu'il est possible d'obtenir des angles de paroi sans interaction de l'utilisateur? Ou peut-être que je suis complètement faux et devrait utiliser une approche différente?

+0

Avez-vous vu Photosynth (http://photosynth.net/default.aspx?lc=1033) –

+0

Yip (c'est un projet génial), mais j'ai seulement une photo en entrée, donc je ne peux pas suivre les points parmi plusieurs Photos. – Riz

+0

Peut-être que nous devons ajouter une étiquette de thèse pour aller avec l'étiquette de devoirs. – sal

Répondre

1

Si vous êtes en supposant que le sol et le plafond sont parallèles, puis les lignes où un mur rencontre le plafond et le plancher sont parallèles. Il devrait être possible de déterminer FOV en fonction de la différence entre l'angle mesuré (de l'image - 2D) et le parallèle (bien que je n'ai pas fait le calcul pour déterminer exactement à quoi cela pourrait ressembler).

Avec cette information FOV, et l'hypothèse que l'angle où la paroi latérale rencontre le plancher (ou le plafond) est de 90 degrés, vous devriez être en mesure de calculer Angle_1 et Angle_2. Si, d'autre part, le plafond n'est pas garanti parallèle au sol, vous aurez besoin de l'angle entre le mur arrière et le plafond (en supposant que le plancher est perpendiculaire à chaque mur).

+0

Thx TreDubZedd, j'y pensais aussi, mais je ne peux pas calculer les maths pour le moment. Quoi qu'il en soit, merci beaucoup. – Riz

Questions connexes