Burada açıklanan panorama ad alanı, fotoğraf alanlarının oluşturulması ve oluşturulması hakkında bilgi sağlayan (bazen panoramik olarak da adlandırılır) özellikler (Android 4.2 kamerasındaki Fotoğraf Küresi özelliği tarafından oluşturulanlar) içerir. Meta veriler, Adobe XMP standardı tarafından açıklandığı şekilde serileştirilmeli ve fotoğraf küreye yerleştirilmelidir (bu sayfanın sonundaki referanslara bakın).
Ad alanı URI'si http://ns.google.com/photos/1.0/panorama/
Meta veri özellikleri
Aşağıdaki diyagramlar ve tabloda, GPano Parametrelerinin kapsadığı fotoğraf küre özellikleri gösterilmektedir. Fotoğraf kürelerini düzenlerken ve görüntülerken meta verileri, bu dokümanın ilerleyen bölümlerinde açıklandığı şekilde doğrulayıp güncellediğinizden emin olun. Pozlamayı ve ilk başlık alanlarını belirtirken lütfen bu dokümanın ilerleyen bölümlerinde açıklanan Euler açısı kurallarına uyduğunuzdan emin olun.
Google ürünlerinin yalnızca küresel projeksiyonları desteklediğini unutmayın. Diğer projeksiyonlar şu anda yalnızca diğer taraflarca desteklenmektedir.
Küre tahminler
Silindir projeksiyonlar
Silindir şeklindeki resmin üst kısmı ufuk çizgisinin üzerindeyse KırpılmışAreaTopPixels negatif olmalıdır. KırpılmışAreaTopPixels için 0 değeri, resmin üst kısmını ufuka yerleştirir. KırpılmışAreaTopPixels'in pozitif değeri, resmin üst kısmını ufkun altına yerleştirir.
GPano parametre referansı
Ad | Tür | Zorunlu | Varsayılan değer (izleyicinin varsayıldığı değer) |
Tesis açıklaması | Resim değiştirilirse işlem yapılması gerekir |
---|---|---|---|---|---|
GPano:PanoramaViewer'ı kullanma | Boole | Hayır | Doğru | Bu resmin normal bir düz resim olarak değil, bir fotoğraf küre gözlüğünde gösterilip gösterilmeyeceği. Bu, kullanıcı tercihlerine veya birleştirme yazılımına göre belirtilebilir. Resmin gösterildiği veya beslendiği uygulama bunu yoksaymayı seçebilir. | ölçek/kırpma: Değişiklik yok. Bir uygulama, görüntüleme alanı belirli bir değerin altına düşerse bunu Yanlış değerine geçirmeye karar verebilir. |
GPano:YakalamaYazılımı | Dize | Hayır | Yok | Yakalama işlemi Android telefon gibi bir mobil cihazdaki bir uygulamayla yapıldıysa, kullanılan uygulamanın adı ("Fotoğraf Küresi" gibi). Kaynak resimler manuel olarak yakalandıysa (örneğin, bir tripod üzerinde DSLR kullanarak) bu alan boş bırakılmalıdır. | Yok |
GPano:Birleştirme Yazılımı | Dize | Hayır | Yok | Son fotoğraf dünyasını oluşturmak için kullanılan yazılım. Bu bazen GPano:CaptureSoftware'nin değeriyle aynı olabilir. | Yok |
GPano:Projeksiyon Türü | Metin Seçimini Aç | Evet |
eşdeğer dikdörtgen |
Resim dosyasında kullanılan projeksiyon türü. Google ürünleri şu anda yalnızca eş değer dikdörtgeni desteklemektedir. | ölçek/kırp: Değişiklik yok. |
GPano:PoseHeadingDereceler | Gerçek | Hayır, ancak Google Haritalar'da görüntülemek için gereklidir | Yok | Resmin ortasındaki kuzeyden saat yönünde derece cinsinden ölçülen pusula yönü. Değer >= 0 ve < 360 olmalıdır. | ölçek/kırp: Değişiklik yok. |
GPano:PosePitchDedegrees | Gerçek | Hayır | 0 | Resimdeki merkez için ufkun üzerinde derece cinsinden ölçülen perde. Değer >= -90 ve <= 90 olmalıdır. | ölçek/kırp: Değişiklik yok. |
GPano:PoseRollDedegrees | Gerçek | Hayır | 0 | Resmin, ufuk hizasının 0 olduğu derece cinsinden ölçülür. Rulo arttıkça ufuk, resimde saat yönünün tersine döner. Değer > -180 ve <= 180 olmalıdır. | ölçek/kırp: Değişiklik yok. |
GPano:İlk GörüntülemeBaşı Dereceleri | Tamsayı | Hayır | 0 | Başlangıç görünümünün başlık açısı, pano merkezine kıyasla değil, gerçek dünyada Kuzeyden saat yönünde. | ölçek/kırp: Değişiklik yok. |
GPano:BaşlangıçtaViewPitchDegrees | Tamsayı | Hayır | 0 | Panorama merkezine kıyasla değil, gerçek görünümün ufkunun üzerindeki derecelerde ilk görünümün perspektif açısı. | ölçek/kırp: Değişiklik yok. |
GPano:İlk GörünümRollDegrees | Tamsayı | Hayır | 0 | Gerçek görünümün ufkunun 0 olduğu derecelerde, ilk görünümün yuvarlanma açısı. Yuvarlama arttıkça ufuk görünümde saat yönünün tersine döner. | ölçek/kırp: Değişiklik yok. |
GPano:İlkHorizontalFOVDereceler | Gerçek | Hayır | Yok | İzleyicinin göstermesi gereken ilk yatay görüş alanı (derece cinsinden). Bu, yakınlaştırma düzeyine benzer. | Yok |
GPano:İlkSektörFOFO dereceleri | Gerçek | Hayır | Yok | İzleyicinin göstermesi gereken ilk dikey görüş alanı (derece cinsinden). Bu, yakınlaştırma düzeyine benzer. Hem GPano:InitialHorizontalFOVDegrees hem de GPano:InitialVerticalFOVDegrees varsa, GPano:InitialHorizontalFOVDegrees öncelikli olur. İçeriğiniz birden çok en boy oranında gösterilecekse ve yatay görüş alanı değişse de dikey görüş alanını sabit tutmayı tercih ederseniz yalnızca InitialVerticalFOVDEgrees kullanın. Google ürünleri şu anda bu alanı desteklememektedir. | Yok |
GPano:İlkFotoğrafTarihi | Tarih | Hayır | Yok | Fotoğraf Küresi'nde oluşturulan ilk görüntünün tarihi ve saati. | ölçek/kırp: Değişiklik yok. |
GPano:SonFotoğrafTarihi | Tarih | Hayır | Yok | Fotoğraf Küresinde oluşturulan son resmin tarihi ve saati. | ölçek/kırp: Değişiklik yok. |
GPano:KaynakFotoğraf Sayısı | Tamsayı | Hayır | Yok | Fotoğraf Küresi oluşturmak için kullanılan kaynak resimlerin sayısı. | ölçek/kırp: Değişiklik yok. |
GPano:TemasKilitKullanıldı | Boole | Hayır | Yok | Tek tek kaynak fotoğrafları çekildiğinde kameranın pozlama ayarının kilitli olup olmadığı. | Yok |
GPano:KırpılmışAreaImageWidthPixels | Tamsayı | Evet | Yok | Resmin piksel cinsinden orijinal genişliği (düzenlenmemiş resimler için gerçek resmin genişliğine eşittir). Yukarıdaki şemaları inceleyin. | ölçek/kırpma: Bu özellik, resmin yeni boyutunu yansıtacak şekilde güncellenmelidir. |
GPano:KırpılmışAreaImageHeightPixels | Tamsayı | Evet | Yok | Resmin piksel cinsinden orijinal yüksekliği (düzenlenmemiş resimler için gerçek resmin yüksekliğine eşittir). Yukarıdaki şemaları inceleyin. | ölçek/kırpma: Bu özellik, resmin yeni boyutunu yansıtacak şekilde güncellenmelidir. |
GPano:TamPanoGenişlikPikselleri | Tamsayı | Evet | Yok | Resmin kırpıldığı orijinal tam genişlik. Fotoğrafın yalnızca bir kısmı çekildiyse bu, tam fotoğraf karesinin ne kadar geniş olacağını belirtir. Yukarıdaki şemaları inceleyin. | kırp: Değişiklik yok. ölçek: Bunu doğru bir şekilde ölçeklendirmemiz gerekir. |
GPano:TamPanoHeightPixels | Tamsayı | Evet | Yok | Resmin kırpıldığı orijinal tam yükseklik. Yalnızca kısmi bir fotoğraf çekildiyse bu, tam fotoğraf çekiminin yüksekliğini belirtir. Yukarıdaki şemaları inceleyin. | kırp: Değişiklik yok. ölçek: Bunu doğru bir şekilde ölçeklendirmemiz gerekir. |
GPano:KırpılmışAreaSolPixels | Tamsayı | Evet | Yok | Resmin sol kenarının, tam boyutlu fotoğraf küreden kırpıldığı sütun. Yukarıdaki şemaları inceleyin. | kırp: Resmin kırpılmış hali değiştirilirse bu değer güncellenmelidir. ölçek: Bunun uygun bir şekilde ölçeklendirilmesi gerekir. |
GPano:KırpılmışAreaTopPixels | Tamsayı | Evet | Yok | Resmin üst kenarının, tam boyutlu fotoğraf küreden kırpıldığı satır. Yukarıdaki şemaları inceleyin. | kırp: Resmin üst kısmı kırpılmışsa bu değer güncellenmelidir. ölçek: Bunun doğru bir şekilde ölçeklendirilmesi gerekir. |
GPano:İlkKameraDolly | Gerçek | Hayır | 0 | İsteğe bağlı bu parametre, sanal kamera konumunu fotoğraf çizgisinin merkezinden fotoğraf çizgisinin ortasına doğru taşır. Bir arka yüzey konumu -1,0 değeriyle, ön yüzey konumu ise 1,0 ile gösterilir. Normal görüntüleme için bu parametre 0 olarak ayarlanmalıdır. | Yok |
Tam küre örneği
Programcı olmayanlar, aşağıdaki meta veri örneğini yalnızca küçük değişiklikler ile mevcut tam fotoğraf katmanlarına (360 derece x 180 derece) ekleyebilir. Bu işlem, Adobe Photoshop gibi resim düzenleme ürünlerinde yapılabilir.
- 4000 ve 2000 arasındaki kısımları, resminizin karşılık gelen genişlik ve yükseklikleriyle piksel cinsinden eşleşecek şekilde değiştirin
- Google Haritalar'ın fotoğraf kürenizi göstermesini istiyorsanız PoseHeadingDegrees ayarını güncelleyin. Aksi takdirde, bu parametreyi isteğe bağlı olarak kaldırabilirsiniz
- isteğe bağlı parametreleri güncelleme veya kaldırma (yukarıda belirtildiği gibi)
<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>
Kısmi fotoğraf Küresi örneği
<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>
Resim düzenlemenin zorluğu
Güçlü olmak için, fotoğraf makinelerini bir izleyicide görüntüleyen programlar, meta verileri güncellemeden orijinal fotoğraf kürenin bir uygulama tarafından ölçeklendirilip ölçeklendirilmediğini kontrol etmelidir. Bunun için aşağıdaki adımları izleyebilirsiniz:
- KırpılanAreaImageWidthPixels etiketinin gerçek resim genişliğine eşit olduğundan emin olun
- KırpılanAreaImageHeightPixels etiketinin gerçek resim yüksekliğine eşit olduğundan emin olun
- 1. veya 2. adım başarısız olursa resmin en boy oranının korunup korunmadığını kontrol edin
- 3. adımın başarısız olması durumunda, bozuk fotoğraf{/1}
- 3. adım başarılı olursa en boy oranı eşdeğer olur ve aşağıdaki ilişkili tüm etiket değerlerinin yeni resim boyutuna sığacak şekilde ölçeklendirilmesi gerekir:
KırpılmışAreaImageWidthPixels, KırpılmışAreaImageHeightPixels, FullPanoWidthPixels, FullPanoHeightPixels, KırpılanAreaSolPixels, KırpılmışArea RightPixels
Euler Angles'a genel bakış
Dünya karesinin fotoğraf karesinin yönü Euler açılarıyla tanımlanır. Bant açısı açıları birçok şekilde tanımlanabilir. Doğru olmak için bir program burada açıklanan Euler açısı kurallarına umalıdır.
Dünya yüzeyinin üzerindeki konum, Z'nin dünyanın yüzeyine kadar dik ve dikey olduğu, Y'nin doğru, Y'nin ise kuzeyde olduğu sabit bir "yerel çerçeve" XYZ'yi tanımlar. Yön, bu sabit "yerel kare"ye göre tanımlanır ve Euler açıları bu sabit XYZ eksenlerinin döndürmeleridir. Bu nedenle kutuplarda konum yönü tanımlanmamıştır. Diğer bir deyişle, açıları (0, 0, 0) olan bir fotoğraf küresi, fotoğraf makinesi kürenin ekvatoru yerkürenin yüzeyine paralel olacak şekilde kuzeye doğru bakacak şekilde yönlendirilir.
Euler açıları (döndürülen) "fotoğraf küre çerçevesi" noktasındaki (sabit) "yerel çerçeve" noktasındaki noktalardan bir eşleme sağlar:
Euler açılarından aşağıdaki gibi bir döndürme matrisi oluşturulur:
R = R_Z(-heading) * R_X(eğimli) * R_Y(roll)
Burada: R_*(t), adlandırılmış eksenin etrafında sağ el dönüşüdür:
R_Z(angle) = [ cos(angle), -sin(angle), 0
sin(angle), cos(angle), 0
0, 0, 1 ]
R_X(angle) = [ 1, 0, 0,
0, cos(angle), -sin(angle),
0, sin(angle), cos(angle) ]
R_Y(angle) = [ cos(angle), 0, sin(angle),
0, 1, 0,
-sin(angle), 0, cos(angle) ]
ve burada: Z = Yukarı, X = Doğu, Y = Kuzey.
Bu sıralamayı korumak önemlidir:
R = R_Z(-heading) * R_X(eğimli) * R_Y(roll)
Bunun nedeni, rotasyonlar değişimli olmadığından
Başlık açısının standart bir pusula başlığıyla aynı olduğunu unutmayın.
Referanslar
Adobe XMP standardı: http://www.adobe.com/devnet/xmp.html