J'ai une image panoramique régulière. Comment puis-je le convertir en une image équirectangulaire (normale → équirectangulaire)?
La plupart des résultats que je trouve sur Google sont une conversion dans le sens opposé (équirectangulaire → normal).
Ceci est l'image que je veux convertir ( lien HR )
3d
image-format
file-conversion
Bob van Luijt
la source
la source
Réponses:
L'image équirectangulaire présente une sphère, elle est déformée de sorte que les méridiens et les parallèles sur la sphère sont représentés sous forme de lignes droites verticales et horizontales. Un exemple de Wikipedia:
À gauche, il y a une carte sphérique et à droite, la carte équivalente, la projection équirectangulaire de la sphère à un rectangle.
Il n'y a pas d'étirement sur l'équateur, mais l'image est étirée horizontalement ailleurs. Plus l'étirement est grand, plus le point est éloigné de l'équateur. Les bords supérieur et inférieur ne contiennent en fait que des points uniques - les pôles.
Le rectangle a des proportions W / H = 2: 1. Cela reflète le fait que la distance entre les pôles le long de la sphère est exactement la moitié de l'aller-retour complet le long de l'équateur.
Vous vouliez convertir votre image en équirectangulaire. Apparemment, les proportions sont de 2: 1, il est donc déjà équirectangulaire si la sphère correspondante est la suivante:
La moitié de l'image est cachée derrière la sphère, mais elle est là. Comme vous le voyez, les bords supérieur et inférieur de votre image sont pincés aux points, les pôles.
Je pense que vous voyez cela comme un morceau inutile de sophistique mathématique, vous vous attendiez à autre chose. Je suppose que tu veux
1) une image équirectangulaire qui présente une sphère avec votre image comme une partie de la surface, pas besoin de couvrir toute la sphère avec
2) quand on le regarde assis au milieu de la sphère, il peut voir votre image sur la sphère sans distorsion et en si grande taille que l'image couvre une partie substantielle du champ de vision, disons un secteur de 90 degrés de large et 45 degrés de haut.
Si vous acceptez une certaine distorsion, vous augmentez simplement la taille du canevas à 400%
Sur une sphère vue de l'extérieur c'est:
(désolé pour les gloss, mon logiciel de CAO gratuit ne permet pas d'éditer les lumières)
Affinity Photo a Layer> Live Projection> Equirectangular qui peut montrer la vue à l'intérieur de la sphère comme si l'image avait été peinte sur la surface intérieure de la sphère et que l'observateur se trouve au milieu. Cela montre ceci:
La clôture et l'horizon incurvés sont évidemment indésirables, mais le soleil est encore assez rond. C'est parce qu'il est beaucoup plus petit et qu'il est proche de la ligne de l'équateur. L'horizon et la clôture sont courbes, car ils sont en fait sur des cercles horizontaux (= parallèles de la carte sphérique), on les regarde un peu vers le bas et on les voit comme des arcs d'ellipse.
On peut redresser la zone d'image d'origine avec une distorsion de compensation, c'est-à-dire. en déformant ou plus exactement avec des équations de distorsion mathématiques (Affinity P les prend également en charge).
Affinity Photo permet des modifications d'image en mode de projection en direct. Les modifications sont appliquées à l'image équirectangulaire sous-jacente, mais on observe la projection sur la sphère. Voici une tentative de déformation grossière:
De plus, on peut coller l'image d'origine et la fusionner avec le calque d'arrière-plan nu, qui est sous projection en direct:
Mais ce n'est pas une solution générale. Dès que l'observateur tourne un peu la tête, il voit d'une nouvelle manière une scène déformée (= une carte plate vue de côté)
Il n'y a pas de solution générale, car vous n'avez pas de scène 3D, seulement une image plate sur une sphère 3D.
Mon opinion est que cartographier l'environnement en tant qu'image unique sur une sphère et le regarder depuis le milieu ne peut être une réalité virtuelle plausible que si la scène cartographiée est si éloignée qu'elle ne peut avoir aucune perspective. Même dans ce cas, il faut une distorsion intelligente de la fenêtre pour rendre la distance apparente infinie, pas = le rayon de la sphère. La distorsion devrait vivre à mesure que la direction d'observation change.
Cette réponse a été totalement réécrite après avoir vérifié ce cas beaucoup plus tard: Comment puis-je peindre des images équirectangulaires (360 degrés)?
la source
Vous ne pouvez pas faire ça sur votre image telle que vous l'avez.
1) Vous voulez une projection cylindrique sur une sphère. Votre toile doit d'abord être dans une proportion exacte. 3.1416: 1 (utilisez n'importe quel canevas de taille pixel souhaité, par exemple 3141x1000px)
2) Et vous avez (normalement) besoin que l'horizon soit au centre de la toile.
Sur une projection cylindrique (à partir d'une sphère), vous avez une déformation spécifique sur la projection en raison de la dimension verticale projetée par rapport à la hauteur réelle de ce segment, vous devez donc compenser cela lorsque vous dessinez votre dessin animé sur une toile plate.
Pour ce faire, vous pouvez facilement utiliser le filtre Spherize dans Photoshop. (Sur la version arcaic que j'ai en ce moment sur cet ordinateur est sur Filter> Distort> Spherize)
Mais vous devez UNIQUEMENT déformer cela sur l'axe vertical.
Mais en plus de cela, vous devez définir quelle partie d'un panorama 360 vous avez. Imaginez un autre poulet prenant une photo. Quel serait l'angle de l'objectif utilisé?
Je pense que c'est un objectif grand angle, laisse la chose que vous prenez comme un champ angulaire de 120 °. Cela signifie que vous devez compléter votre image avec ce que vous avez derrière le photographe de poulet.
L'application Google VR que vous souhaitez utiliser indique qu'il a besoin d'une projection cylindrique, mais demande une proportion de 2: 1 sur votre image. Une projection 2: 1 est normalement une projection sphérique qui a une déformation différente, mais elle est plus difficile à réaliser dans une vidéo par exemple.
Pour des raisons pratiques, ils demandent en fait des projections cylindriques, il vous suffit donc de rééchantillonner votre original 3.1416: 1 à 2: 1 comme étape finale.
Rééchantillonnez simplement l'image finale. Si votre toile mesurait 3141 x 1000 pixels, il suffit de la rééchantillonner en 2000 x 1000 pixels. Ne le recadrez pas. Le poulet paraîtra plus mince mais redeviendra gras sur l'application VR.
Pour votre toile initiale: Sur votre image spécifique, il est difficile de dire l'angle de vue, mais voyons 3 scénarios.
(A) Votre champ de vision est d'environ 120 ° afin que vous puissiez accueillir 3 photos des animaux mignons car votre image publiée est 2048, la toile doit être 2048x3 = 6144px et divisez-la maintenant avec pi = 1955px
6144x1955px
(B) Mais si vous ne voulez pas que les animaux soient trop petits, supposons que la photo couvre 180 ° = 2048x2 = 4096 / pi = 1303
4096x1303px
(C) Ou jouez avec les chiffres.
la source
Votre image contient vraiment peu d'informations et est trop petite. N'ont pas non plus de géométrie équirectangulaire. Mais vous pouvez le faire dans Blender, c'est gratuit. Rendez-le simplement dans "Panorama"> "équirectangulaire"> "Rendu. Pour voir des images HDRI en 360, vous pouvez utiliser ce site: http://panoramaviewer.1bestlink.net/
la source
Image originale:
Augmentez la taille du canevas et utilisez le remplissage sensible au contenu pour donner à l'image plus de ciel et de sol. J'ai utilisé Photoshop:
Vous utiliserez le filtre Coordonnées polaires à l'étape suivante. Voici une image qui montre comment fonctionne exactement les coordonnées polaires:
Comme vous le voyez, nous voulons convertir la perspective inférieure (rectangulaire) en perspective supérieure (polaire). Pour ce faire, accédez à Filtre -> Distorsion -> Coordonnées polaires -> Rectangulaire à polaire:
Utilisez l'outil de remplissage, de réparation ou d'estampage sensible au contenu pour fixer les zones au centre et autour des bords:
Utilisez à nouveau les coordonnées polaires, mais polaires à rectangulaires cette fois. Vous pouvez projeter cette image sur une sphère à 360 °:
Disons que vous avez une image d'un ciel nocturne. Vous pouvez à nouveau utiliser les coordonnées polaires. Mais comme le centre de votre image deviendra le haut après une distorsion équirectangulaire, vous n'utiliserez les coordonnées polaires polaire à rectangulaire qu'une fois:
Dans un logiciel 3D (j'ai utilisé le Clara.io gratuit), voici à quoi ressemble la texture sur une sphère:
la source