फ़ोटो स्फ़ीर XMP मेटाडेटा

यहां बताए गए पैनोरामा नेमस्पेस में ऐसी प्रॉपर्टी हैं जो 360 डिग्री पैनोरमा फ़ोटो के निर्माण और रेंडरिंग से संबंधित जानकारी भी कभी-कभी इन्हें पैनोरामा कहा जाता है, जैसे वे फ़ोटो जो Android 4.2 कैमरे में फ़ोटो स्फ़ीयर सुविधा के ज़रिए बनाए गए हैं. कॉन्टेंट बनाने मेटाडेटा को फ़ोटो स्फ़ीयर में इस तरह से क्रम में लगाया जाना चाहिए और एम्बेड किया जाना चाहिए इसके बारे में, Adobe XMP मानक (इस पेज के आखिर में संदर्भ देखें).

नेमस्पेस यूआरआई http://ns.google.com/photos/1.0/panorama/

मेटाडेटा प्रॉपर्टी

नीचे दिए गए आरेख और तालिका में 360 डिग्री पैनोरमा फ़ोटो के गुण दिखाए गए हैं GPano पैरामीटर में. 360 डिग्री पैनोरमा फ़ोटो संपादित करते और देखते समय, कृपया इस दस्तावेज़ में दी गई जानकारी के मुताबिक, मेटाडेटा की पुष्टि और उसे अपडेट करें. पोज़ और शुरुआती हेडिंग फ़ील्ड तय करते समय, कृपया इनका पालन ज़रूर करें यूलर ऐंगल कन्वेंशन के बारे में, बाद में यहां चर्चा की गई इस दस्तावेज़ को फिर से शुरू करें.

ध्यान दें कि Google प्रॉडक्ट केवल गोलाकार प्रोजेक्शन का समर्थन करते हैं. वर्तमान में अतिरिक्त प्रोजेक्शन केवल अन्य पक्षों द्वारा समर्थित हैं.

स्फ़ेरिकल प्रोजेक्शन

बेलनाकार प्रोजेक्शन

ध्यान दें कि अगर बेलनाकार इमेज का ऊपरी हिस्सा क्षितिज के ऊपर है, तो CroppedAreaTopPixels नेगेटिव होना चाहिए. CroppedAreaTopPixels के लिए 0 मान है क्षितिज पर चित्र के शीर्ष को स्थान देगा. का पॉज़िटिव मान CroppedAreaTopPixels इमेज के ऊपरी हिस्से को क्षितिज के नीचे रखता है.

GPano पैरामीटर का रेफ़रंस

नाम टाइप ज़रूरी है डिफ़ॉल्ट मान
(दर्शक के हिसाब से)
प्रॉपर्टी की जानकारी इमेज में बदलाव होने पर कार्रवाई ज़रूरी है
GPano:UsePanoramaViewer बूलियन नहीं सही क्या इस इमेज को किसी सामान्य फ़्लैट इमेज के बजाय फ़ोटो स्फ़ीयर व्यूअर में दिखाना है. यह उपयोगकर्ता की पसंद या स्टिचिंग सॉफ़्टवेयर के आधार पर तय की जा सकती है. इमेज को दिखाने या उसमें डालने वाला ऐप्लिकेशन इसे अनदेखा कर सकता है. स्केल/क्रॉप:
कोई बदलाव नहीं. अगर व्यू का फ़ील्ड एक तय वैल्यू से कम हो जाता है, तो कोई ऐप्लिकेशन इसे 'गलत' पर स्विच कर सकता है.
GPano:CaptureSoftware स्ट्रिंग नहीं लागू नहीं अगर कैप्चर करने के लिए मोबाइल डिवाइस जैसे Android फ़ोन जैसे किसी ऐप्लिकेशन का इस्तेमाल किया गया था, तो उस ऐप्लिकेशन का नाम जिसका इस्तेमाल किया गया था (जैसे कि “फ़ोटो स्फ़ीयर”). अगर सोर्स इमेज मैन्युअल तरीके से कैप्चर की गई हों, जैसे कि ट्राइपॉड पर डीएसएलआर का इस्तेमाल करके, तो सोर्स इमेज को खाली छोड़ा जाना चाहिए. लागू नहीं
GPano:StitchingSoftware स्ट्रिंग नहीं लागू नहीं अंतिम फ़ोटो स्फ़ीयर बनाने के लिए उपयोग किया गया सॉफ़्टवेयर. कभी-कभी इसकी वैल्यू GPano:CaptureSoftware. की वैल्यू के बराबर हो सकती है. लागू नहीं
GPano:ProjectionType टेक्स्ट का विकल्प खोलें हां

इक्वीरेक्टेंगुलर

इमेज फ़ाइल में इस्तेमाल किया गया प्रोजेक्शन टाइप. फ़िलहाल, Google के प्रॉडक्ट में सिर्फ़ इक्वीरेक्टेंगुलर वैल्यू को इस्तेमाल किया जा सकता है. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:PoseHeadingDegrees रीयल नहीं, लेकिन Google Maps पर दिखाने के लिए यह ज़रूरी है लागू नहीं कंपास का शीर्षक, जो उत्तर से कुछ डिग्री घड़ी की सुई की दिशा में मापा गया है और इमेज के बीच में है. इसका मान >= 0 और < होना चाहिए 360 चुनें. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:PosePitchDegrees रीयल नहीं 0 पिच, इमेज के बीच वाले हिस्से में क्षितिज से ऊपर डिग्री में मापी जाती है. वैल्यू, >= -90 और <= 90 होनी चाहिए. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:PoseRollDegrees रीयल नहीं 0 इमेज को डिग्री में घुमाएं, जहां क्षितिज वाला लेवल 0 है. जैसे-जैसे रोल बढ़ता है, चित्र में क्षितिज घड़ी की विपरीत दिशा में घूमता है. वैल्यू > होनी चाहिए -180 और <= 180. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:InitialViewHeadingDegrees पूर्णांक नहीं 0 शुरुआती व्यू का हेडिंग ऐंगल, असल दुनिया के उत्तर से घड़ी की सुई की दिशा में घड़ी की सुई की दिशा में है. यह पैनो सेंटर से मिलता-जुलता नहीं है. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:InitialViewPitchDegrees पूर्णांक नहीं 0 शुरुआती व्यू का पिच ऐंगल, असल दुनिया की क्षितिज से ऊपर डिग्री में, पैनो सेंटर से संबंधित नहीं. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:InitialViewRollDegrees पूर्णांक नहीं 0 शुरुआती व्यू का रोल ऐंगल डिग्री में, जहां असल दुनिया का लेवल 0 है. जैसे-जैसे रोल बढ़ता है, दृश्य में क्षितिज घड़ी की विपरीत दिशा में घूमता है. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:InitialHorizontalFOVDegrees रीयल नहीं लागू नहीं व्यू का शुरुआती हॉरिज़ॉन्टल फ़ील्ड जिसे व्यूअर को (डिग्री में) दिखाना चाहिए. यह किसी ज़ूम लेवल की तरह है. लागू नहीं
GPano:InitialVerticalFOVDegrees रीयल नहीं लागू नहीं व्यू का शुरुआती वर्टिकल फ़ील्ड, जिसे दर्शक को (डिग्री में) दिखाना चाहिए. यह किसी ज़ूम लेवल की तरह है. अगर GPano:Initialहॉरिज़ॉन्टलFOVDegrees और GPano:InitialVerticalFOVDegrees, की वैल्यू के तौर पर सेट किया गया है, तो GPano:Initialहॉरिज़ॉन्टलFOVDegrees को प्राथमिकता दी जाती है. अगर आपका कॉन्टेंट एक से ज़्यादा आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में दिखाया जाना है, तो सिर्फ़ InitialVerticalFOVDegrees का इस्तेमाल करें और व्यू के हॉरिज़ॉन्टल फ़ील्ड में बदलाव होने पर भी आपको वर्टिकल फ़ील्ड ऑफ़ व्यू को स्थिर रखना चाहिए. फ़िलहाल, Google के प्रॉडक्ट में इस फ़ील्ड का इस्तेमाल नहीं किया जा सकता. लागू नहीं
GPano:FirstPhotoDate तारीख नहीं लागू नहीं 360 डिग्री पैनोरमा फ़ोटो में बनाई गई पहली इमेज की तारीख और समय. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:LastPhotoDate तारीख नहीं लागू नहीं 360 डिग्री पैनोरमा फ़ोटो में बनाई गई अंतिम इमेज की तारीख और समय. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:SourcePhotosCount पूर्णांक नहीं लागू नहीं 360 डिग्री पैनोरमा फ़ोटो बनाने के लिए उपयोग की गई स्रोत चित्रयों की संख्या. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:ExposureLockUsed बूलियन नहीं लागू नहीं जब किसी व्यक्ति की फ़ोटो खींची गई थी, तब कैमरे की एक्सपोज़र सेटिंग लॉक थी या नहीं. लागू नहीं
GPano:CroppedAreaImageWidthPixels पूर्णांक हां लागू नहीं इमेज की ओरिजनल चौड़ाई (पिक्सल में) (बिना बदलाव वाली इमेज के लिए, इमेज की चौड़ाई के बराबर). ऊपर दिए गए डायग्राम देखें. स्केल/क्रॉप: इमेज का नया साइज़ दिखाने के लिए इस प्रॉपर्टी को अपडेट करना होगा.
GPano:CroppedAreaImageHeightPixels पूर्णांक हां लागू नहीं इमेज की मूल ऊंचाई (पिक्सल में) (बिना बदलाव वाली इमेज के लिए, इमेज की असल ऊंचाई के बराबर). ऊपर दिए गए डायग्राम देखें. स्केल/क्रॉप: इमेज का नया साइज़ दिखाने के लिए इस प्रॉपर्टी को अपडेट करना होगा.
GPano:FullPanoWidthPixels पूर्णांक हां लागू नहीं मूल पूरी चौड़ाई, जिससे इमेज को काटा गया था. यदि केवल आंशिक 360 डिग्री पैनोरमा फ़ोटो कैप्चर किया जाता है, तो इससे यह पता चलता है कि संपूर्ण फ़ोटो स्फ़ीयर की चौड़ाई कितनी होगी. ऊपर दिए गए डायग्राम देखें. क्रॉप: कोई बदलाव नहीं.
स्केल: इसे ज़रूरत के हिसाब से स्केल किया जाना चाहिए.
GPano:FullPanoHeightPixels पूर्णांक हां लागू नहीं मूल पूरी ऊंचाई, जहां से इमेज को काटा गया था. यदि केवल आंशिक फ़ोटो स्फ़ीयर कैप्चर किया जाता है, तो यह उस ऊंचाई को निर्दिष्ट करता है, जो पूर्ण फ़ोटो स्फ़ीयर की होती. ऊपर दिए गए डायग्राम देखें. क्रॉप: कोई बदलाव नहीं.
स्केल: इसे ज़रूरत के हिसाब से स्केल किया जाना चाहिए.
GPano:CroppedAreaLeftPixels पूर्णांक हां लागू नहीं वह कॉलम जहां इमेज के बाएं किनारे को पूरे आकार वाले फ़ोटो स्फ़ीयर से काटा गया था. ऊपर दिए गए डायग्राम देखें. क्रॉप: अगर इमेज की बाईं ओर से क्रॉप की गई इमेज को बदला जाता है, तो इस वैल्यू को अपडेट करना ज़रूरी है.
स्केल: इसे ज़रूरत के हिसाब से स्केल किया जाना चाहिए.
GPano:CroppedAreaTopPixels पूर्णांक हां लागू नहीं वह पंक्ति, जहां पूर्ण आकार वाले 360 डिग्री पैनोरमा फ़ोटो से चित्र के ऊपरी किनारे को काटा गया था. ऊपर दिए गए डायग्राम देखें. क्रॉप: अगर इमेज की टॉप क्रॉप को बदला जाता है, तो इस वैल्यू को अपडेट करना ज़रूरी है.
स्केल: इसे ज़रूरत के हिसाब से स्केल किया जाना चाहिए.
GPano:InitialCameraDolly रीयल नहीं 0 यह वैकल्पिक पैरामीटर दृश्य कैमरे की स्थिति को फ़ोटो स्फ़ीयर के केंद्र से दूर ले जाता है. फ़ोन के पीछे की सतह की पोज़िशन को -1.0 वैल्यू से दिखाया जाता है, जबकि सामने की सतह को 1.0 से दिखाया जाता है. सामान्य तरीके से देखने के लिए, यह पैरामीटर 0 पर सेट होना चाहिए. लागू नहीं

पूर्ण 360 डिग्री पैनोरमा फ़ोटो का उदाहरण

नॉन-प्रोग्रामर, अपनी मौजूदा पूरी फ़ोटो में नीचे दिए गए मेटाडेटा का उदाहरण जोड़ सकते हैं स्फ़ीयर (360 डिग्री x 180 डिग्री) के साथ. यह काम Adobe Photoshop जैसे इमेज में बदलाव करने वाले प्रॉडक्ट में किया जा सकता है.

  1. पिक्सल के हिसाब से, इमेज की चौड़ाई और ऊंचाई के हिसाब से 4,000 और 2,000 के बीच के किसी भी पैटर्न को बदलें
  2. अगर आप चाहते हैं कि Google मैप आपका 360 डिग्री पैनोरमा फ़ोटो दिखाए, तो PoseheadingDegrees अपडेट करें; ऐसा नहीं होने पर, वैकल्पिक तौर पर यह पैरामीटर हटाया जा सकता है
  3. वैकल्पिक पैरामीटर अपडेट करें या हटाएं (जैसा कि ऊपर बताया गया है)
<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
    <GPano:UsePanoramaViewer>True</GPano:UsePanoramaViewer>
    <GPano:CaptureSoftware>Photo Sphere</GPano:CaptureSoftware>
    <GPano:StitchingSoftware>Photo Sphere</GPano:StitchingSoftware>
    <GPano:ProjectionType>equirectangular</GPano:ProjectionType>
    <GPano:PoseHeadingDegrees>350.0</GPano:PoseHeadingDegrees>
    <GPano:InitialViewHeadingDegrees>90.0</GPano:InitialViewHeadingDegrees>
    <GPano:InitialViewPitchDegrees>0.0</GPano:InitialViewPitchDegrees>
    <GPano:InitialViewRollDegrees>0.0</GPano:InitialViewRollDegrees>
    <GPano:InitialHorizontalFOVDegrees>75.0</GPano:InitialHorizontalFOVDegrees>
    <GPano:CroppedAreaLeftPixels>0</GPano:CroppedAreaLeftPixels>
    <GPano:CroppedAreaTopPixels>0</GPano:CroppedAreaTopPixels>
    <GPano:CroppedAreaImageWidthPixels>4000</GPano:CroppedAreaImageWidthPixels>
    <GPano:CroppedAreaImageHeightPixels>2000</GPano:CroppedAreaImageHeightPixels>
    <GPano:FullPanoWidthPixels>4000</GPano:FullPanoWidthPixels>
    <GPano:FullPanoHeightPixels>2000</GPano:FullPanoHeightPixels>
    <GPano:FirstPhotoDate>2012-11-07T21:03:13.465Z</GPano:FirstPhotoDate>
    <GPano:LastPhotoDate>2012-11-07T21:04:10.897Z</GPano:LastPhotoDate>
    <GPano:SourcePhotosCount>50</GPano:SourcePhotosCount>
    <GPano:ExposureLockUsed>False</GPano:ExposureLockUsed>
</rdf:Description>

आंशिक 360 डिग्री पैनोरमा फ़ोटो का उदाहरण

<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
    <GPano:UsePanoramaViewer>True</GPano:UsePanoramaViewer>
    <GPano:CaptureSoftware>Photo Sphere</GPano:CaptureSoftware>
    <GPano:StitchingSoftware>Photo Sphere</GPano:StitchingSoftware>
    <GPano:ProjectionType>equirectangular</GPano:ProjectionType>
    <GPano:PoseHeadingDegrees>350.0</GPano:PoseHeadingDegrees>
    <GPano:InitialViewHeadingDegrees>90.0</GPano:InitialViewHeadingDegrees>
    <GPano:InitialViewPitchDegrees>0.0</GPano:InitialViewPitchDegrees>
    <GPano:InitialViewRollDegrees>0.0</GPano:InitialViewRollDegrees>
    <GPano:InitialHorizontalFOVDegrees>75.0</GPano:InitialHorizontalFOVDegrees>
    <GPano:CroppedAreaLeftPixels>90</GPano:CroppedAreaLeftPixels>
    <GPano:CroppedAreaTopPixels>128</GPano:CroppedAreaTopPixels>
    <GPano:CroppedAreaImageWidthPixels>2300</GPano:CroppedAreaImageWidthPixels>
    <GPano:CroppedAreaImageHeightPixels>1042</GPano:CroppedAreaImageHeightPixels>
    <GPano:FullPanoWidthPixels>4000</GPano:FullPanoWidthPixels>
    <GPano:FullPanoHeightPixels>2000</GPano:FullPanoHeightPixels>
    <GPano:FirstPhotoDate>2012-11-07T21:03:13.465Z</GPano:FirstPhotoDate>
    <GPano:LastPhotoDate>2012-11-07T21:04:10.897Z</GPano:LastPhotoDate>
    <GPano:SourcePhotosCount>50</GPano:SourcePhotosCount>
    <GPano:ExposureLockUsed>False</GPano:ExposureLockUsed>
</rdf:Description>

इमेज एडिटिंग की बेहतर सुविधाएं

मज़बूत बनाने के लिए, व्यूअर में 360 डिग्री पैनोरमा फ़ोटो दिखाने वाले प्रोग्राम को यह जांच करनी चाहिए कि मूल फ़ोटो स्फ़ीयर को बिना अपडेट किए किसी ऐप्लिकेशन द्वारा स्केल कर लिया गया है मेटाडेटा. इसके लिए, यहां दिया गया तरीका अपनाएं:

  1. पक्का करें कि CroppedAreaImageWidthPixels टैग इमेज की असल चौड़ाई के बराबर है
  2. पक्का करें कि CroppedAreaImageHightPixels टैग इमेज की असल ऊंचाई के बराबर है
  3. अगर पहला या दूसरा चरण फ़ेल हो जाता है, तो देखें कि इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सुरक्षित है या नहीं
  4. अगर चरण 3 विफल हो जाता है, तो इमेज को फ़ोटो स्फ़ीयर के रूप में न दिखाएं, क्योंकि उसे ऐसे असंगत तरीके से फ़ॉर्मैट किया गया है जिससे खराब डिस्टॉर्शन हो सकते हैं
  5. अगर तीसरा चरण पास होता है, तो आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) एक जैसा होता है. साथ ही, इमेज से जुड़े नीचे दिए गए सभी टैग की वैल्यू को नई इमेज के साइज़ के हिसाब से स्केल किया जाना चाहिए:
    CroppedAreaImageWidthPixels, CroppedAreaImageHightPixels, FullPanoWidthPixels, FullPanoHightPixels, CroppedArealeftPixels, CroppedAreaRightPixels हैं.

ओयलर एंगल्स का अवलोकन

विश्व फ़्रेम में 360 डिग्री पैनोरमा फ़ोटो का ओरिएंटेशन यूलर से तय होता है कोण. ओलर कोणों को कई तरीकों से तय किया जा सकता है. सही जानकारी देने के लिए, प्रोग्राम का पूरी तरह से पालन करना ज़रूरी है यहां बताई गई ओयलर एंगल परंपराओं का पालन करें.

पृथ्वी की सतह के ऊपर की स्थिति एक स्थिर "स्थानीय" फ़्रेम" XYZ, जहां Z ऊपर है और पृथ्वी की सतह के लिए ऑर्थोगोनल है, X है पूर्व में सही और Y उत्तर दिशा में सही है. ओरिएंटेशन (स्क्रीन की दिशा) इससे तय होता है "लोकल फ़्रेम" तय होता है और ओयलर के कोण इन चारों तरफ़ के घुमाव होते हैं XYZ ऐक्सिस को तय करने की सुविधा मिलती है. इसलिए, पोल पर पोज़ का ओरिएंटेशन तय नहीं होता है. यह इसका मतलब है कि कोण (0, 0, 0) वाला 360 डिग्री पैनोरमा फ़ोटो इस तरह से दिशा-निर्देश में होगी केंद्र में पिक्सल उत्तर दिशा में है और फ़ोटो स्फ़ीयर की भूमध्य रेखा समानांतर है पृथ्वी की सतह पर.

यूलर कोण, (घुमाए गए) "फ़ोटो" के पॉइंट से मैपिंग देते हैं स्फ़ीयर फ़्रेम" (तय) "लोकल फ़्रेम" में पॉइंट करने के लिए:
 
रोटेशन मैट्रिक्स को यूलर कोणों से इस तरह बनाया जाता है: अनुसरण करता है (इस क्रम को बनाए रखना महत्वपूर्ण है):

R = R_Z(-हेडिंग) * R_X(पिच) * R_Y(रोल)

जहां: R_*(t) नाम वाले ऐक्सिस के आस-पास, दाएं हाथ का रोटेशन है:











और कहां: Z = ऊपर, X = पूर्व, Y = उत्तर.

इस क्रम को बनाए रखना ज़रूरी है:

R = R_Z(-हेडिंग) * R_X(पिच) * R_Y(रोल)

क्योंकि रोटेशन क्रमिक नहीं होते हैं.

ध्यान दें कि हेडिंग का ऐंगल, स्टैंडर्ड कंपास हेडिंग के जैसा ही होता है.

रेफ़रंस

Adobe XMP स्टैंडर्ड: http://www.adobe.com/devnet/xmp.html