Systems, methods, and non-transitory computer-readable media can provide one or more options to adjust, in a virtual three-dimensional space, an image in an initial perspective. At least a first command, provided based on the one or more options, to adjust the image from the initial perspective into an adjusted perspective can be detected. The image can be adjusted, based on at least the first command, into the adjusted perspective in the virtual three-dimensional space to produce an adjusted image. A second command to modify a viewable area of the adjusted image can be detected. At least a portion of the adjusted image can be automatically fitted, when the second command has ceased, within a specified display area while one or more empty regions can be minimized in the specified display area.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: adjusting, by a computing system, an image in a display area to produce an adjusted image, wherein the adjusting reveals one or more empty regions indicated by at least one edge of the adjusted image that is not parallel to at least one edge of the display area and the adjusting results in a portion of the adjusted image outside the display area; determining, by the computing system, at least one of: a minimum amount of zooming or a minimum amount of moving to apply to the adjusted image to fill the display area with the portion of the adjusted image outside the display area to minimize the one or more empty regions, and to minimize the at least one edge of the adjusted image; and based on the determining, automatically fitting, by the computing system, at least a portion of the adjusted image to fill the display area while generating an animation of zooming or moving the adjusted image.
2. The computer-implemented method of claim 1 , further comprising: providing, by the computing system, one or more options to adjust the image in a virtual three-dimensional space; detecting, by the computing system, a command to adjust the image; and wherein the adjusted image is produced based at least in part on the command.
3. The computer-implemented method of claim 2 , wherein the one or more options to adjust the image comprises at least one of: a first option to adjust the image with respect to a horizontal axis in the virtual three-dimensional space, a second option to adjust the image with respect to a vertical axis in the virtual three-dimensional space, or a third option to adjust the image with respect to a depth axis in the virtual three-dimensional space.
4. The computer-implemented method of claim 1 , further comprising: providing, by the computing system, one or more options to adjust a viewable area of the image; detecting, by the computing system, a command to adjust the viewable area; and wherein the adjusted image is produced based at least in part on the command.
5. The computer-implemented method of claim 4 , wherein the one or more options to adjust the viewable area comprises at least one of: a first option to adjust the viewable area in a horizontal direction, a second option to adjust the viewable area in a vertical direction, or a third option to adjust the viewable area by zooming.
6. The computer-implemented method of claim 1 , further comprising: acquiring, by the computing system, a first orientation data associated with a default position; acquiring, by the computing system, a second orientation data associated with the image; determining, by the computing system, an amount of rotation in a first direction based on the first orientation data and the second orientation data; and wherein the adjusted image is produced based at least in part on the amount of rotation and the first direction.
7. The computer-implemented method of claim 6 , wherein the first orientation data and the second orientation data are acquired from one or more orientation sensors associated with a camera that acquired the image.
8. The computer-implemented method of claim 6 , wherein producing the adjusted image comprises rotating the image in a second direction opposite the first direction by the amount of rotation.
9. The computer-implemented method of claim 1 , further comprising: detecting, by the computing system, one or more linear edges represented in the image; determining, by the computing system, an orientation and a zoom factor of the image to result in the one or more linear edges to be within an allowable deviation from being vertical or horizontal; and wherein the adjusted image is produced based at least in part on the orientation and the zoom factor.
10. The computer-implemented method of claim 1 , wherein the adjusted image is produced based at least in part on one or more touch gestures.
11. A system comprising: at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the system to perform: adjusting an image in a display area to produce an adjusted image, wherein the adjusting reveals one or more empty regions indicated by at least one edge of the adjusted image that is not parallel to at least one edge of the display area and the adjusting results in a portion of the adjusted image outside the display area; determining at least one of: a minimum amount of zooming or a minimum amount of moving to apply to the adjusted image to fill the display area with the portion of the adjusted image outside the display area to minimize the one or more empty regions, and to minimize the at least one edge of the adjusted image; and based on the determining, automatically fitting at least a portion of the adjusted image to fill the display area while generating an animation of zooming or moving the adjusted image.
12. The system of claim 11 , further comprising: providing one or more options to adjust the image in a virtual three-dimensional space; detecting a command to adjust the image; and wherein the adjusted image is produced based at least in part on the command.
13. The system of claim 12 , wherein the one or more options to adjust the image comprises at least one of: a first option to adjust the image with respect to a horizontal axis in the virtual three-dimensional space, a second option to adjust the image with respect to a vertical axis in the virtual three-dimensional space, or a third option to adjust the image with respect to a depth axis in the virtual three-dimensional space.
14. The system of claim 11 , further comprising: providing one or more options to adjust a viewable area of the image; detecting a command to adjust the viewable area; and wherein the adjusted image is produced based at least in part on the command.
15. The system of claim 14 , wherein the one or more options to adjust the viewable area comprises at least one of: a first option to adjust the viewable area in a horizontal direction, a second option to adjust the viewable area in a vertical direction, or a third option to adjust the viewable area by zooming.
16. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform: adjusting an image in a display area to produce an adjusted image, wherein the adjusting reveals one or more empty regions indicated by at least one edge of the adjusted image that is not parallel to at least one edge of the display area and the adjusting results in a portion of the adjusted image outside the display area; determining at least one of: a minimum amount of zooming or a minimum amount of moving to apply to the adjusted image to fill the display area with the portion of the adjusted image outside the display area to minimize the one or more empty regions, and to minimize the at least one edge of the adjusted image; and based on the determining, automatically fitting at least a portion of the adjusted image to fill the display area while generating an animation of zooming or moving the adjusted image.
17. The non-transitory computer-readable storage medium of claim 16 , further comprising: providing one or more options to adjust the image in a virtual three-dimensional space; detecting a command to adjust the image; and wherein the adjusted image is produced based at least in part on the command.
18. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more options to adjust the image comprises at least one of: a first option to adjust the image with respect to a horizontal axis in the virtual three-dimensional space, a second option to adjust the image with respect to a vertical axis in the virtual three-dimensional space, or a third option to adjust the image with respect to a depth axis in the virtual three-dimensional space.
19. The non-transitory computer-readable storage medium of claim 16 , further comprising: providing one or more options to adjust a viewable area of the image; detecting a command to adjust the viewable area; and wherein the adjusted image is produced based at least in part on the command.
20. The non-transitory computer-readable storage medium of claim 19 , wherein the one or more options to adjust the viewable area comprises at least one of: a first option to adjust the viewable area in a horizontal direction, a second option to adjust the viewable area in a vertical direction, or a third option to adjust the viewable area by zooming.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 18, 2019
July 28, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.