เนมสเปซพาโนรามาที่อธิบายไว้ที่นี่มีพร็อพเพอร์ตี้ที่ ให้ข้อมูลเกี่ยวกับการสร้างและการแสดงผลภาพ 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
- เปลี่ยนค่าใดๆ ตั้งแต่ 4000 และ 2000 เพื่อให้ตรงกับความกว้างและความสูงของรูปภาพในระดับพิกเซล
- อัปเดต PoseHeadingDegrees หากคุณต้องการให้ Google Maps สามารถแสดงภาพ 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>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 ไม่สําเร็จ อย่าแสดงรูปภาพเป็นภาพ 360 องศา เพราะมีการเปลี่ยนรูปแบบในลักษณะที่ไม่เข้ากัน ซึ่งอาจทําให้เกิดการบิดเบี้ยวที่ไม่ดี
- หากขั้นตอนที่ 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