15. A computer program product comprising at least one non-transitory computer-readable storage medium including instructions translatable by at least one processor of an apparatus to perform: obtaining a two-dimensional image of the document; identifying edges of the document within the two-dimensional image; determining angles between detected edges; calculating, based on the detected edges and the angles determined, a three-dimensional position of the document relative to a position of the apparatus; calculating correction information to correct, by relative movement, the three-dimensional position of the document relative to the position of the apparatus; deriving first guidance information from the correction information; providing the first guidance information to a user of the apparatus, prompting the user to perform the relative movement such that the three-dimensional position of the document is correct relative to the position of the apparatus; and capturing the document.
15. A computer program product comprising at least one non-transitory computer-readable storage medium including instructions translatable by at least one processor of an apparatus to perform: obtaining a two-dimensional image of the document; identifying edges of the document within the two-dimensional image; determining angles between detected edges; calculating, based on the detected edges and the angles determined, a three-dimensional position of the document relative to a position of the apparatus; calculating correction information to correct, by relative movement, the three-dimensional position of the document relative to the position of the apparatus; deriving first guidance information from the correction information; providing the first guidance information to a user of the apparatus, prompting the user to perform the relative movement such that the three-dimensional position of the document is correct relative to the position of the apparatus; and capturing the document. 16. The computer program product of claim 15 , wherein the instructions are further translatable by the at least one processor to perform, for each two edges detected: determining whether the two edges have an intersection; and if the two edges have an intersection, determining an angle between the two edges.