여기에 설명된 파노라마 네임스페이스에는 포토스피어의 생성 및 렌더링에 대한 정보뿐 아니라 경우에 따라 파노라마로 참조되기도 합니다(예: 포토 스피어로 만든 사진을 찍을 수 있습니다. 이 메타데이터는 직렬화되어 360 ̊ 파노라마 사진 내에 'API 약관'의 Adobe XMP (이 페이지 하단의 참조 참조)
네임스페이스 URI는 http://ns.google.com/photos/1.0/panorama/
입니다.
메타데이터 속성
아래의 다이어그램과 표에는 GPano 매개변수입니다. 360 ̊ 파노라마 사진을 편집하거나 볼 때는 다음 사항에 유의하세요. 이 문서의 뒷부분에 설명된 대로 메타데이터를 확인하고 업데이트해야 합니다. 포즈와 초기 제목 입력란을 지정할 때는 오일러 각 규칙에 관해서는 나중에 살펴보겠습니다. 이 문서를 참조하세요
Google 제품은 구면 투영법만 지원합니다. 추가 예상은 현재 타사에서만 지원됩니다.
구면 투영법
원통 투영법
원통형 이미지의 상단이 수평선 위에 있으면 cropedAreaTopPixels은 음수여야 합니다. 자르기 영역 상단 픽셀의 값 0 이미지의 상단이 수평선에 배치됩니다. 양수 값 cropedAreaTopPixels은 이미지 상단을 수평선 아래에 배치합니다.
GPano 매개변수 참조
이름 | 유형 | 필수 | 기본값 (가정된 시청자) |
속성 설명 | 이미지가 수정된 경우 조치 필요 |
---|---|---|---|---|---|
GPano:UsePanoramaViewer | 불리언 | 아니요 | 참 | 이 이미지를 일반적인 평면 이미지가 아니라 Photo Sphere 뷰어에서 표시할지 여부입니다. 사용자 기본 설정에 따라 지정되거나 스티칭 소프트웨어를 사용하여 지정될 수 있습니다. 이미지를 표시하거나 수집하는 애플리케이션에서는 이를 무시할 수도 있습니다. | 배율/자르기: 변경 없음. 시야가 특정 값 미만이면 애플리케이션에서 false로 전환할 수 있습니다. |
GPano:CaptureSoftware | 문자열 | 아니요 | 해당 사항 없음 | Android 휴대전화와 같은 휴대기기의 애플리케이션을 사용하여 캡처한 경우 사용된 애플리케이션의 이름 (예: 'Photo Sphere')입니다. 소스 이미지를 수동으로 캡처한 경우(예: 삼각대에서 DSLR 사용) 이 입력란을 비워두어야 합니다. | 해당 사항 없음 |
GPano:StitchingSoftware | 문자열 | 아니요 | 해당 사항 없음 | 최종 Photo Sphere를 만드는 데 사용된 소프트웨어입니다. 이 값은 GPano:CaptureSoftware의 값과 동일할 수도 있습니다. | 해당 사항 없음 |
GPano:ProjectionType | 텍스트 선택 열기 | 예 |
정방형 |
이미지 파일에 사용되는 투영 유형입니다. Google 제품은 현재 정방형 값만 지원합니다. | 배율/자르기: 변경 없음. |
GPano:PoseHeadingDegrees | 실제 | 아니요, 하지만 Google 지도에 표시하려면 필수입니다. | 해당 사항 없음 | 이미지 중심에 대한 나침반 방위로, 북쪽에서 시계 방향으로 측정됩니다(단위: 도). 값은 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:InitialHorizontalFOVDegrees와 GPano:InitialVerticalFOVDegrees가 모두 있는 경우 GPano:InitialHorizontalFOVDegrees가 우선 적용됩니다. 콘텐츠를 여러 가로세로 비율로 표시해야 하고 가로 시야가 변경될 수 있지만 세로 시야는 일정하게 유지하고자 하는 경우 InitialVerticalFOVDegrees만 사용합니다. Google 제품에서는 현재 이 필드를 지원하지 않습니다. | 해당 사항 없음 |
GPano:FirstPhotoDate | 날짜 | 아니요 | 해당 사항 없음 | Photo Sphere에서 처음 이미지가 생성된 날짜 및 시간입니다. | 배율/자르기: 변경 없음. |
GPano:LastPhotoDate | 날짜 | 아니요 | 해당 사항 없음 | Photo Sphere에서 마지막으로 생성된 이미지의 날짜 및 시간입니다. | 배율/자르기: 변경 없음. |
GPano:SourcePhotosCount | 정수 | 아니요 | 해당 사항 없음 | Photo Sphere를 만드는 데 사용된 소스 이미지의 수입니다. | 배율/자르기: 변경 없음. |
GPano:ExposureLockUsed | 불리언 | 아니요 | 해당 사항 없음 | 개별 소스 사진을 촬영할 때 카메라의 노출 설정이 잠겨 있는지 여부 | 해당 사항 없음 |
GPano:CroppedAreaImageWidthPixels | 정수 | 예 | 해당 사항 없음 | 이미지의 원본 너비(픽셀 단위)(수정되지 않은 이미지의 실제 너비와 같음) 위의 다이어그램을 참조하세요. | scale/crop: 이미지의 새 크기를 반영하도록 이 속성을 업데이트해야 합니다. |
GPano:CroppedAreaImageHeightPixels | 정수 | 예 | 해당 사항 없음 | 이미지의 원본 높이(픽셀 단위)(수정되지 않은 이미지의 실제 높이와 같음) 위의 다이어그램을 참조하세요. | scale/crop: 이미지의 새 크기를 반영하도록 이 속성을 업데이트해야 합니다. |
GPano:FullPanoWidthPixels | 정수 | 예 | 해당 사항 없음 | 이미지를 잘라냈던 원본 전체 너비입니다. 360 ̊ 파노라마 사진의 일부만 캡처된 경우 전체 360 ̊ 파노라마 사진의 너비가 지정됩니다. 위의 다이어그램을 참조하세요. | 자르기: 변경 없음. 배율 조정: 그에 따라 적절히 조정해야 합니다. |
GPano:FullPanoHeightPixels | 정수 | 예 | 해당 사항 없음 | 이미지를 잘라냈던 원본 전체 높이입니다. 360 ̊ 파노라마 사진의 일부만 캡처된 경우 전체 360 ̊ 파노라마 사진의 높이가 지정됩니다. 위의 다이어그램을 참조하세요. | 자르기: 변경 없음. 배율 조정: 그에 따라 적절히 조정해야 합니다. |
GPano:CroppedAreaLeftPixels | 정수 | 예 | 해당 사항 없음 | 원본 크기의 Photo Sphere 사진에서 이미지의 왼쪽 가장자리를 잘라낸 열입니다. 위의 다이어그램을 참조하세요. | 자르기: 이미지의 왼쪽 잘라낸 부분이 변경되면 이 값을 업데이트해야 합니다. 배율 조정: 그에 따라 적절하게 크기를 조정해야 합니다. |
GPano:CroppedAreaTopPixels | 정수 | 예 | 해당 사항 없음 | 전체 크기의 Photo Sphere 사진에서 이미지의 상단 가장자리를 잘라낸 행입니다. 위의 다이어그램을 참조하세요. | 자르기: 이미지의 위에서 자른 부분이 변경되면 이 값을 업데이트해야 합니다. 배율 조정: 이에 따라 적절하게 크기를 조정해야 합니다. |
GPano:InitialCameraDolly | 실제 | 아니요 | 0 | 이 선택적 매개변수는 Photo Sphere 사진의 중심에서 멀어지는 방향으로 시야를 따라 가상 카메라 위치를 이동합니다. 후면 위치는 -1.0으로 나타내고, 전면 위치는 1.0으로 나타냅니다. 일반 보기에서는 이 매개변수를 0으로 설정해야 합니다. | 해당 사항 없음 |
전체 Photo Sphere의 예
프로그래머가 아닌 사람은 아래의 메타데이터 예를 기존의 전체 사진에 추가할 수 있습니다. 조금만 수정하여 360도 x 180도 회전하도록 할 수 있습니다. 이 작업은 Adobe Photoshop과 같은 이미지 편집 제품에서 수행할 수 있습니다.
- 4000 및 2000이 있으면 이미지의 해당 너비 및 높이(픽셀)와 일치하도록 변경합니다.
- Google 지도에서 Photo Sphere를 표시할 수 있도록 하려면 PoseHeadingDegrees를 업데이트합니다. 원하는 경우 이 매개변수를
- 선택적 매개변수 업데이트 또는 삭제 (위에 나열)
<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>
견고한 이미지 편집
보다 강력하려면 뷰어에 Photo Sphere를 표시하는 프로그램에서 원본 Photo Sphere는 사진을 업데이트하지 않고 애플리케이션에서 크기를 조정한 것입니다. 메타데이터로 변환할 수 있습니다. 이 작업은 다음 단계에 따라 수행할 수 있습니다.
- cropedAreaImageWidthPixels 태그가 실제 이미지 너비와 같은지 확인합니다.
- cropedAreaImageHeightPixels 태그가 실제 이미지 높이와 동일한지 확인합니다.
- 1단계나 2단계가 실패하면 이미지의 가로세로 비율이 유지되었는지 확인
- 3단계가 실패하는 경우 호환되지 않는 방식으로 변형되어 왜곡이 발생할 수 있는 Photo Sphere로 이미지를 표시하지 마세요.
- 3단계를 통과하면 가로세로 비율이 동일하며 다음과 같은 연결된 태그 값이 모두 새 이미지 크기에 맞게 조정되어야 합니다.
자르기 영역 이미지 폭 픽셀, 자르기 영역 이미지 높이 픽셀, 풀파노 너비 픽셀, 풀파노 높이 픽셀, 자르기 영역 왼쪽 픽셀, 자르기 영역 오른쪽 픽셀.
오일러 각 개요
세계 프레임에서 Photo Sphere의 방향은 오일러에 의해 정의됨 볼 수 있습니다. 오일러 각은 다양한 방식으로 정의될 수 있습니다. 정확히 말씀드리자면, 프로그램은 오일러 각 공식을 따라야 합니다.
지표면 위의 위치는 고정된 '국소'를 프레임" XYZ는 Z가 지표면과 수직을 이루는 위쪽이고, X는 Y는 진북입니다. 방향은 이 값을 기준으로 정의됩니다. 고정된 '로컬 프레임'이며, 오일러각은 이 값을 기준으로 고정 XYZ 축입니다. 따라서 극지에서는 포즈 방향이 정의되지 않습니다. 이 각도가 (0, 0, 0)인 Photo Sphere 사진은 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