ข้อมูลเมตา XMP ของทรงกลม

เนมสเปซพาโนรามาที่อธิบายไว้ที่นี่มีพร็อพเพอร์ตี้ที่ ให้ข้อมูลเกี่ยวกับการสร้างและการแสดงผลภาพ 360 องศา หรือที่บางครั้งเรียกว่าพาโนรามา เช่น ภาพที่สร้างขึ้นจากฟีเจอร์ภาพ 360 องศาในกล้อง Android 4.2 ข้อมูลเมตาควรมีการทําให้เป็นอนุกรมและฝังไว้ภายในภาพ 360 องศาดังที่อธิบายไว้ตามมาตรฐานของ Adobe XMP (ดูข้อมูลอ้างอิงที่ส่วนท้ายของหน้านี้)

URI ของเนมสเปซคือ http://ns.google.com/photos/1.0/panorama/

พร็อพเพอร์ตี้ของข้อมูลเมตา

แผนภาพและตารางด้านล่างแสดงพร็อพเพอร์ตี้ Photo Sphere ที่อยู่ในพารามิเตอร์ GPano ขณะแก้ไขและดูภาพ 360 องศา โปรดตรวจสอบว่าได้ยืนยันและอัปเดตข้อมูลเมตาตามที่อธิบายไว้ภายหลังในเอกสารนี้ เมื่อระบุท่าโพสและส่วนหัวเริ่มต้น โปรดตรวจสอบว่าได้ทําตามแบบมุมฉากที่กล่าวถึงในเอกสารนี้ในภายหลัง

โปรดทราบว่าผลิตภัณฑ์ของ Google ใช้การฉายภาพ 360 องศาเท่านั้น ขณะนี้การฉายภาพเพิ่มเติมสนับสนุนโดยบุคคลอื่นเท่านั้น

การคาดการณ์ 360 องศา

การคาดการณ์ทรงกระบอก

โปรดทราบว่าถ้าด้านบนของภาพทรงกระบอกเหนือขอบฟ้า CroppedAreaTopPixels ต้องเป็นค่าลบ ค่า 0 สําหรับครอบตัดที่กําหนดเป้าหมายเป็นพิกเซล จะวางด้านบนของภาพในแนวนอน ค่าบวกของ CroppedAreaTopPixels จะวางรูปภาพไว้ใต้ขอบฟ้า

ข้อมูลอ้างอิงพารามิเตอร์ GPano

ชื่อ ประเภท ต้องระบุ ค่าเริ่มต้น
(จะถือว่ามีผู้ดู)
คําอธิบายพร็อพเพอร์ตี้ ขอให้ดําเนินการหากมีการแก้ไขรูปภาพ
GPano:ใช้พาโนรามาในมุมมอง บูลีน ไม่ได้ จริง กําหนดว่าจะแสดงภาพนี้ในมุมมองภาพ 360 องศาแทนที่จะเป็นภาพธรรมดาธรรมดาไหม ซึ่งอาจระบุได้ตามค่ากําหนดของผู้ใช้หรือตามซอฟต์แวร์การต่อภาพ แอปพลิเคชันที่แสดงหรือนําเข้ารูปภาพอาจเลือกที่จะละเว้นการดําเนินการนี้ ปรับขนาด/ครอบตัด:
ไม่มีการเปลี่ยนแปลง แอปพลิเคชันอาจตัดสินใจเปลี่ยนค่านี้เป็น "เท็จ" หากขอบเขตการมองเห็นต่ํากว่าค่าบางค่า
GPano:CaptureSoftware สตริง ไม่ได้ ไม่มี หากจับภาพโดยใช้แอปพลิเคชันบนอุปกรณ์เคลื่อนที่ เช่น โทรศัพท์ Android ชื่อของแอปพลิเคชันที่ใช้ (เช่น "ภาพ 360 องศา") ข้อมูลนี้ไม่ควรเว้นว่างไว้หากภาพต้นฉบับได้รับการบันทึกด้วยตัวเอง เช่น การใช้กล้อง DSLR บนขาตั้ง ไม่มี
GPano:ซอฟต์แวร์การต่อภาพ สตริง ไม่ได้ ไม่มี ซอฟต์แวร์ที่ใช้สร้างภาพ 360 องศาขั้นสุดท้าย ซึ่งอาจเป็นค่าเดียวกับค่าของ GPano:CaptureSoftware ไม่มี
GPano:ประเภทการฉายภาพ เปิดทางเลือกของข้อความ ใช่

ทรงกลม

ประเภทการแสดงผลที่ใช้ในไฟล์ภาพ ปัจจุบันผลิตภัณฑ์ Google รองรับเฉพาะค่าที่มีลักษณะเทียบเท่า ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:องศาสวมศีรษะ จริง ไม่ แต่จําเป็นสําหรับการแสดงผลบน Google Maps ไม่มี ส่วนหัวของเข็มทิศ โดยวัดเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ เพื่อให้รูปภาพอยู่ตรงกลาง ค่าต้องเป็น >= 0 และ < 360 ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:PosePitchDegrees จริง ไม่ได้ 0 ระดับความสูงต่ําซึ่งวัดเป็นองศาเหนือขอบฟ้าเพื่อให้ได้จุดศูนย์กลางในภาพ ค่าต้องเป็น >= -90 และ <= 90 ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:รูรับแสง จริง ไม่ได้ 0 ม้วนหน่วยเป็นองศาของรูปภาพที่มีระดับขอบฟ้าเท่ากับ 0 เมื่อหมุนเพิ่มขึ้น ขอบฟ้าจะหมุนทวนเข็มนาฬิกาในรูปภาพ ค่าต้องเป็น > -180 และ <= 180 ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:องศาเริ่มต้นของส่วนหัว จำนวนเต็ม ไม่ได้ 0 มุมส่วนหัวของมุมมองเริ่มต้น เป็นองศาตามเข็มนาฬิกาจากทิศเหนือของโลกแห่งความเป็นจริง ไม่ใช่สัมพัทธ์กับศูนย์กลางพาโนรามา ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:เริ่มต้นใช้งานมุมมองการเสนอขาย จำนวนเต็ม ไม่ได้ 0 มุมสูงของมุมมองเริ่มต้นในระดับองศาเหนือเส้นขอบฟ้าในชีวิตจริง ไม่ใช่สัมพัทธ์กับศูนย์กลางพาโนรามา ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:ชื่อเริ่มต้น RollRoll Degrees จำนวนเต็ม ไม่ได้ 0 มุมเอียงของมุมมองเริ่มต้น หน่วยเป็นองศา ซึ่งระดับที่มีเส้นขอบฟ้าของโลกแห่งความจริงคือ 0 เมื่อหมุนเพิ่มขึ้น ขอบฟ้าจะหมุนทวนเข็มนาฬิกาในมุมมอง ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:องศาระยะไกลแบบFOV จริง ไม่ได้ ไม่มี ช่องแนวนอนแนวนอนที่ผู้ดูควรจะแสดง (องศา) ซึ่งคล้ายกับระดับการซูม ไม่มี
GPano:ดีซีโฟนแนวตั้ง จริง ไม่ได้ ไม่มี ช่องแนวตั้งเริ่มต้นของมุมมองที่ผู้ชมควรจะแสดง (องศา) ซึ่งคล้ายกับระดับการซูม หากมีทั้ง GPano:DefaultHorizontalFOVDegrees และ GPano:InitialVerticalFOVDegrees อยู่ GPano:InitialHorizontalFOVDegrees จะมีความสําคัญเหนือกว่า ใช้เฉพาะ InitialVerticalFOVDegrees หากเนื้อหาของคุณแสดงในสัดส่วนภาพหลายมิติ และคุณต้องการให้ช่องแนวตั้งมีจํานวนการดูคงที่ในขณะที่ขอบเขตแนวนอนอาจมีการเปลี่ยนแปลง ปัจจุบันผลิตภัณฑ์ Google ยังไม่รองรับช่องนี้ ไม่มี
GPano:วันแรกของรูปภาพ วันที่ ไม่ได้ ไม่มี วันที่และเวลาของรูปภาพแรกที่สร้างขึ้นในภาพ 360 องศา ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:วันที่ถ่ายภาพล่าสุด วันที่ ไม่ได้ ไม่มี วันที่และเวลาของรูปภาพสุดท้ายที่สร้างขึ้นในภาพ 360 องศา ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:จํานวนรูปภาพต้นทาง จำนวนเต็ม ไม่ได้ ไม่มี จํานวนรูปภาพต้นฉบับที่ใช้ในการสร้างภาพ 360 องศา ปรับขนาด/ครอบตัด: ไม่มีการเปลี่ยนแปลง
GPano:ExposureLockUsed บูลีน ไม่ได้ ไม่มี รูปภาพที่ถ่ายแบบแหล่งที่มาแต่ละรายการถูกบันทึกไว้ ไม่ว่าการตั้งค่าการเปิดรับแสงของกล้องจะล็อกไว้หรือไม่ก็ตาม ไม่มี
GPano:พื้นที่ภาพแบบครอบตัดพิกเซล จำนวนเต็ม ใช่ ไม่มี ความกว้างต้นฉบับเป็นพิกเซลของรูปภาพ (เท่ากับความกว้างของรูปภาพจริงสําหรับรูปภาพที่ไม่ได้แก้ไข) ดูแผนภาพด้านบน การปรับขนาด/ครอบตัด: คุณสมบัตินี้จะต้องได้รับการอัปเดตเพื่อแสดงขนาดใหม่ของภาพ
GPano:พื้นที่ที่ครอบตัดบางส่วนของภาพพิกเซล จำนวนเต็ม ใช่ ไม่มี ความสูงเป็นพิกเซลของรูปภาพ (เท่ากับความสูงของรูปภาพจริงสําหรับรูปภาพที่ไม่ได้แก้ไข) ดูแผนภาพด้านบน การปรับขนาด/ครอบตัด: คุณสมบัตินี้จะต้องได้รับการอัปเดตเพื่อแสดงขนาดใหม่ของภาพ
GPano:FullPanoWidthPixels จำนวนเต็ม ใช่ ไม่มี ความกว้างเต็มหน้าจอเดิมที่รูปภาพถูกครอบตัด หากบันทึกเฉพาะภาพ 360 องศา ระบบจะระบุความกว้างของภาพ 360 องศาแบบเต็ม ดูแผนภาพด้านบน การครอบตัด: ไม่มีการเปลี่ยนแปลง
สเกล: จําเป็นต้องปรับขนาดอย่างเหมาะสม
GPano:FullPanoHeightPixels จำนวนเต็ม ใช่ ไม่มี ความสูงต้นฉบับดั้งเดิมของรูปภาพที่ครอบตัด หากบันทึกเฉพาะภาพ 360 องศา ระบบจะบอกความสูงของภาพ 360 องศาแบบเต็ม ดูแผนภาพด้านบน การครอบตัด: ไม่มีการเปลี่ยนแปลง
สเกล: จําเป็นต้องปรับขนาดอย่างเหมาะสม
GPano:พื้นที่ครอบตัดซ้ายพิกเซล จำนวนเต็ม ใช่ ไม่มี คอลัมน์ที่มีการครอบตัดขอบด้านซ้ายของรูปภาพจากภาพ 360 องศาขนาดเต็ม ดูแผนภาพด้านบน การครอบตัด: หากมีการเปลี่ยนแปลงการครอบตัดของรูปภาพทางซ้าย คุณต้องอัปเดตค่านี้
การปรับขนาด: การดําเนินการนี้ต้องมีการปรับขนาดอย่างเหมาะสม
GPano:พื้นที่ครอบตัดสูงสุด จำนวนเต็ม ใช่ ไม่มี แถวที่ครอบตัดขอบด้านบนของรูปภาพจากภาพ 360 องศาขนาดเต็ม ดูแผนภาพด้านบน การครอบตัด: หากมีการเปลี่ยนแปลงการครอบตัดด้านบนของรูปภาพ คุณต้องอัปเดตค่านี้
การปรับขนาด: ต้องมีการปรับขนาดอย่างเหมาะสม
GPano:ชื่อเริ่มต้นกล้อง จริง ไม่ได้ 0 พารามิเตอร์เสริมนี้จะย้ายตําแหน่งกล้องเสมือนไปตามแนวสายตา โดยห่างจากจุดศูนย์กลางของทรงกลม ตําแหน่งพื้นผิวด้านหลังจะแสดงด้วยค่า -1.0 ในขณะที่ตําแหน่งพื้นผิวด้านหน้าจะแสดงด้วย 1.0 สําหรับมุมมองปกติ พารามิเตอร์นี้ควรตั้งเป็น 0 ไม่มี

ตัวอย่างภาพ 360 องศาเต็มรูปแบบ

ส่วนผู้ที่ไม่เขียนโปรแกรมจะเพิ่มตัวอย่างข้อมูลเมตาด้านล่างนี้ไปยังภาพ 360 องศาทั้งรูปที่มีอยู่ได้ (360 องศา x 180 องศา) ด้วยการแก้ไขเพียงเล็กน้อย การดําเนินการนี้สามารถทําได้ในผลิตภัณฑ์ตัดต่อรูปภาพ เช่น Adobe Photoshop

  1. เปลี่ยนค่าใดๆ ตั้งแต่ 4000 และ 2000 เพื่อให้ตรงกับความกว้างและความสูงของรูปภาพในระดับพิกเซล
  2. อัปเดต PoseHeadingDegrees หากคุณต้องการให้ Google Maps สามารถแสดงภาพ 360 องศา มิเช่นนั้น คุณก็สามารถนําพารามิเตอร์นี้ออกได้
  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. ตรวจสอบว่าแท็กครอบตัดสําหรับพื้นที่ความกว้างพิกเซลเท่ากับความกว้างจริงของรูปภาพ
  2. ตรวจสอบว่าแท็กครอบตัดที่มีความสูงเท่ากับความสูงของรูปภาพจริง
  3. หากขั้นตอนที่ 1 หรือ 2 ล้มเหลว ให้ตรวจสอบว่ามีการคงอัตราส่วนของภาพไว้หรือไม่
  4. หากขั้นตอนที่ 3 ไม่สําเร็จ อย่าแสดงรูปภาพเป็นภาพ 360 องศา เพราะมีการเปลี่ยนรูปแบบในลักษณะที่ไม่เข้ากัน ซึ่งอาจทําให้เกิดการบิดเบี้ยวที่ไม่ดี
  5. หากขั้นตอนที่ 3 ผ่านเข้ามา อัตราส่วนจะเท่ากันและค่าของแท็กที่เกี่ยวข้องทั้งหมดต่อไปนี้ควรปรับขนาดให้เท่ากับขนาดรูปภาพใหม่
    FeedpedAreaImageWidthPixels, FeedpedAreaImageHeightPixels, FullPanoWidthPixels, FullPanoHeightPixels, FeedpedAreaซ้ายPixels,ครอบตัด

ภาพรวมของมุมออยเลอร์

การวางแนวของลูกโลกในกรอบโลกกําหนดโดยมุมของออยเลอร์ มุมของกวางเทียมสามารถทําได้หลายวิธี ให้ถูกต้อง โปรแกรมต้องเป็นไปตามรูปแบบมุมออยเลอร์ที่อธิบายในที่นี้อย่างเคร่งครัด

ตําแหน่งเหนือพื้นผิวโลกเป็นตัวกําหนด "ท้องถิ่น กรอบ&X;; XYZ คงที่ โดยที่ Z ขึ้นและอยู่ต่ํากว่าพื้นผิวของโลก, X เป็นจริง ตะวันออก และ Y คือทิศเหนือ การวางแนวกําหนดโดยอ้างอิงเครื่องหมาย &&tt;กรอบภายใน&เครื่องหมายคําพูดแบบกําหนดแน่นอนนี้ และมุมออยเลอร์จะหมุนรอบแกน XYZ คงที่เหล่านี้ การกําหนดทิศทางของเสาจึงไม่ได้รับการกําหนด ซึ่งหมายความว่าภาพ 360 องศาที่มีมุม (0, 0, 0) จะได้รับการโฟกัสเพื่อให้พิกเซลพิกเซลหันไปทิศเหนือและอยู่บนเส้นศูนย์สูตรของทรงกลมซึ่งขนานกับพื้นผิวโลก

มุมออยเลอร์จะทําการจับคู่จากจุดใน (แบบหมุน) "กรอบทรงภาพ" ไปยังจุดใน (คงที่) "เฟรมท้องถิ่น":

เมทริกซ์การหมุนจะสร้างจากมุมออยเลอร์ ดังนี้ (สิ่งสําคัญคือต้องรักษาลําดับนี้)

R = R_Z(-header) * R_X(ระดับความสูงต่ํา) * R_Y(ม้วน)

ตําแหน่ง: R_*(t) คือการหมุนด้านขวารอบแกนที่มีชื่อ

ทํามุม 2 ด้าน ด้านที่ 1

และที่ไหน: Z = ขึ้น, X = ตะวันออก, Y = เหนือ

คุณควรเก็บคําสั่งซื้อนี้ไว้

R = R_Z(-header) * R_X(ระดับความสูงต่ํา) * R_Y(ม้วน)

เนื่องจากการหมุนเวียนไม่ใช่เรื่องที่เปลี่ยนไป

โปรดทราบว่ามุมส่วนหัวนั้นเหมือนกับส่วนหัวเข็มทิศมาตรฐาน

ข้อมูลอ้างอิง

มาตรฐาน Adobe XMP: http://www.adobe.com/devnet/xmp.html