Annotations in panoramic images, and applications thereof
A technique for efficient processing of annotations in images such as panoramic images is herein disclosed. In an embodiment, a first user annotation is received for a feature in a first panorama, and a second user annotation for the same feature is received in a second panorama. The coordinates for the feature can then be generated by computing the intersection between data generated for the first user annotation and for the second user annotations.
1. A computer-implemented method for processing annotations to panoramas, comprising:
(a) receiving a first user annotation for a feature in a first panorama, wherein the first panorama is associated with a first latitude and longitude coordinate, the first latitude and longitude coordinate representing a first location on the Earth;
(b) recording a first two-dimensional location for the first user annotation, the first two-dimensional location representing a selected location on the first panorama, wherein the first two-dimensional location includes a first pitch and a first yaw;
(c) receiving a second user annotation for said feature in a second panorama, wherein the second panorama is associated with a second latitude and longitude coordinate, the second latitude and longitude coordinate representing a second location on the Earth, and wherein the second user annotation is received after a user has navigated to the second panorama and located said feature, the second user annotation further comprising a metadata;
(d) recording a second two-dimensional location for the second user annotation, the second two-dimensional location representing a selected location on the second panorama, wherein the second two-dimensional location includes a second pitch and a second yaw;
(e) determining a three-dimensional coordinate of an annotation representing said feature, wherein the three-dimensional coordinate is based on an intersection between a first ray from the first latitude and longitude coordinate in a direction of the first two-dimensional location and a second ray from the second latitude and longitude coordinate in a direction of the second two-dimensional location; and
(f) storing the three-dimensional coordinate in association with the annotation representing said feature.
2. The method of claim 1 , further comprising (g) rendering the annotation representing said feature within a third panorama including projecting the annotation representing said feature on the third panorama according to the three-dimensional coordinate.
3. The method of claim 1 , wherein the metadata further comprises at least one of a title, a link, or a graphic.
4. A system for processing annotations of panoramas, comprising:
a server that:
receives a first user annotation for a feature in a first panorama, wherein the first panorama is associated with a first latitude and longitude coordinate, the first latitude and longitude coordinate representing a first location on the Earth,
records a first two-dimensional location for the first user annotation, the first two-dimensional location representing a selected location on the first panorama, wherein the first two-dimensional location includes a first pitch, and a first yaw,
receives a second user annotation for said feature in a second panorama, wherein the second panorama is associated with a second latitude and longitude coordinate, the second latitude and longitude coordinate representing a second location on the Earth, and wherein the second user annotation is received after a user has navigated to the second panorama and located said feature, the second user annotation further comprising a metadata,
records a second two-dimensional location for the second user annotation, the second two-dimensional location representing a selected location on the second panorama, and wherein the second two-dimensional location includes a second pitch, and a second yaw,
determines a three-dimensional coordinate of an annotation representing said feature, wherein the three-dimensional coordinate is based on an intersection between a first ray from the first latitude and longitude coordinate in a direction of the first two-dimensional location and a second ray from the second latitude and longitude coordinate in a direction of the second two-dimensional location, and
stores the three-dimensional coordinate in association with the annotation representing said feature.
5. The system of claim 4 , further comprising a panorama viewer that renders the annotation representing said feature within a third panorama and projected on the third panorama according to the three-dimensional coordinate.
6. The system of claim 4 , wherein the metadata further comprises at least one of a title, a link, or a graphic.