Determining camera position for a photograph having a displaced center of projection
First Claim
1. A method implemented in a computing device for automatically determining a position of a camera relative to an object depicted in an image and captured using the camera, wherein the object is in an object space, wherein the image is on an image plane, and wherein a center of the image is not on an optical axis of the camera, the method comprising:
- causing the image to be displayed via a user interface of the computing device;
receiving vanishing point data from the user interface, wherein the vanishing point data indicates a respective location on the image plane of each of a first vanishing point, a second vanishing point, and a third vanishing point; and
automatically determining the position of the camera based on the first vanishing point, the second vanishing point, and the third vanishing point, wherein determining the position of the camera includes determining an orthocenter of a vanishing point triangle having vertices including the first vanishing point, the second vanishing point, and the third vanishing point, wherein the orthocenter of the vanishing point triangle is a point formed at an intersection of an altitude corresponding to the first vanishing point, an altitude corresponding to the second vanishing point, and an altitude corresponding to the third vanishing point, wherein the altitude corresponding to the first vanishing point is a line segment extending through the first vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the first vanishing point, wherein the altitude corresponding to the second vanishing point is a line segment extending through the second vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the second vanishing point, and wherein the altitude corresponding to the third vanishing point is a line segment extending through the third vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the third vanishing point, and wherein the optical axis of the camera intersects the image plane at the orthocenter of the vanishing point triangle.
3 Assignments
0 Petitions
Accused Products
Abstract
An image depicting an object has a center that is not on an optical axis of a camera used to capture the image. The image is on an image plane, and the object is in an object space. A method implemented for automatically determining the position of the camera relative to the object includes displaying the image via a user interface, receiving vanishing point information from the user interface, such that the vanishing point data indicates a respective location on the image plane of each of a first vanishing point, a second vanishing point, and a third vanishing point, and automatically determining the position of the camera based on the first vanishing point, the second vanishing point, and the third vanishing point.
-
Citations
22 Claims
-
1. A method implemented in a computing device for automatically determining a position of a camera relative to an object depicted in an image and captured using the camera, wherein the object is in an object space, wherein the image is on an image plane, and wherein a center of the image is not on an optical axis of the camera, the method comprising:
-
causing the image to be displayed via a user interface of the computing device; receiving vanishing point data from the user interface, wherein the vanishing point data indicates a respective location on the image plane of each of a first vanishing point, a second vanishing point, and a third vanishing point; and automatically determining the position of the camera based on the first vanishing point, the second vanishing point, and the third vanishing point, wherein determining the position of the camera includes determining an orthocenter of a vanishing point triangle having vertices including the first vanishing point, the second vanishing point, and the third vanishing point, wherein the orthocenter of the vanishing point triangle is a point formed at an intersection of an altitude corresponding to the first vanishing point, an altitude corresponding to the second vanishing point, and an altitude corresponding to the third vanishing point, wherein the altitude corresponding to the first vanishing point is a line segment extending through the first vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the first vanishing point, wherein the altitude corresponding to the second vanishing point is a line segment extending through the second vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the second vanishing point, and wherein the altitude corresponding to the third vanishing point is a line segment extending through the third vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the third vanishing point, and wherein the optical axis of the camera intersects the image plane at the orthocenter of the vanishing point triangle. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method implemented in a computing device, the method comprising:
-
receiving first data indicative of a location of a first vanishing point on an image plane, wherein the image plane includes an image of an object; receiving second data indicative of a location of a second vanishing point on the image plane; receiving third data indicative of a location of a third vanishing point on the image plane; automatically determining an orthocenter of a vanishing point triangle having vertices that include the first vanishing point, the second vanishing point, and the third vanishing point, wherein the orthocenter of the vanishing point triangle is a point where an altitude corresponding to the first vanishing point, an altitude corresponding to the second vanishing point, and an altitude corresponding to the third vanishing point intersect, wherein the altitude corresponding to the first vanishing point is a line segment extending through the first vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the first vanishing point, wherein the altitude corresponding to the second vanishing point is a line segment extending through the second vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the second vanishing point, and wherein the altitude corresponding to the third vanishing point is a line segment extending through the third vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the third vanishing point; automatically determining a position of a camera used to capture the image, wherein the camera is disposed on an optical axis orthogonal to the image plane and intersecting the image plane at the orthocenter of the vanishing point triangle; and determining a distance between the camera and the orthocenter of the vanishing point triangle along the optical axis. - View Dependent Claims (8, 9, 10, 11, 12, 19)
-
-
13. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to:
-
cause an image depicting an object to be displayed via a user interface of a computing device, wherein the object is in an object space, wherein the image is on an image plane, and wherein a center of the image is not on an optical axis of a camera used to capture the image; receive vanishing point data from the user interface, wherein the vanishing point data indicates a respective location on the image plane of each of a first vanishing point, a second vanishing point, and a third vanishing point; and determine a position of the camera relative to the object depicted in the image based on the first vanishing point, the second vanishing point, and the third vanishing point, wherein the position of the camera is based on an orthocenter of a vanishing point triangle having vertices that include the first vanishing point, the second vanishing point, and the third vanishing point, wherein the orthocenter of the vanishing point triangle is a point where an altitude corresponding to the first vanishing point, an altitude corresponding to the second vanishing point, and an altitude corresponding to the third vanishing point intersect, wherein the altitude corresponding to the first vanishing point is a line segment extending through the first vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the first vanishing point, wherein the altitude corresponding to the second vanishing point is a line segment extending through the second vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the second vanishing point, and wherein the altitude corresponding to the third vanishing point is a line segment extending through the third vanishing point and perpendicular to a side of the vanishing point triangle that is opposite to the third vanishing point. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
20. A method implemented in a computing device for automatically determining a position of a camera relative to an object depicted in an image, wherein the object is in an object space, wherein the image is on an image plane, the method comprising:
-
causing the image to be displayed via a user interface of the computing device; determining a first vanishing point from a first pair of lines displayed on the image plane, wherein the first vanishing point corresponds to an intersection of the first pair of lines on the image plane, wherein the first pair of lines correspond to a first set of moveable pins displayed over the image, wherein the first set of moveable pins includes a first pair of pins to specify a first line on the image plane and a second pair of pins to specify a second line on the image plane, and wherein the first pair of lines comprises the first line and the second line; determining a second vanishing point from a second pair of lines displayed on the image plane, wherein the second vanishing point corresponds to an intersection of the second pair of lines on the image plane; determining a third vanishing point from a third pair of lines displayed on the image plane, wherein the third vanishing point corresponds to an intersection of the third pair of lines on the image plane; determining vanishing point data, wherein the vanishing point data indicates a respective location on the image plane of each of the first vanishing point, the second vanishing point, and the third vanishing point; and automatically determining the position of the camera based on the first vanishing point, the second vanishing point, and the third vanishing point. - View Dependent Claims (21, 22)
-
Specification