Capturing an image of an object from a captured perspective and creating a plurality of candidate object areas. Each candidate object area potentially enclosing the object captured in the image. From the plurality of candidate object areas, a candidate object area is selected as enclosing the object. A corrected image of the object is generated based on the selected candidate object area. The corrected image shows the object transformed to a corrected perspective. The corrected image is displayed.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for processing an image, the method comprising: automatically capturing, by an image capturing device, a first image including an object from a captured perspective; identifying a plurality of candidate edges from the first image; creating a plurality of candidate object areas in the first image, each of the plurality of candidate object areas comprised of a different set of candidate edges from the plurality of candidate edges and potentially enclosing the object included in the first image; calculating, for each of the plurality of candidate object areas, an object score indicative of a likelihood that the candidate object area represents the object included in the first image; selecting, from the plurality of candidate object areas, a number of candidate object areas based on the selected candidate object areas having the highest object scores among the plurality of candidate object areas, the number of selected candidate object areas more than one and less than the plurality of candidate object areas; calculating, for each of the selected candidate object areas, a similarity score indicative of a similarity between the selected candidate object area and an object captured in a second image, the second image automatically captured by the image capturing device prior to the first image; calculating, for each of the selected candidate object areas, a total score based on the object score and the similarity score calculated for the selected candidate object area; identifying, from the selected candidate object areas, a candidate object area as the object included in the first image based on the total score calculated for the identified candidate object area being the highest among the selected candidate object areas; generating a corrected image of the object included in the first image based on the identified candidate object area, the corrected image showing the object included in the first image transformed to a corrected perspective; and displaying the corrected image.
2. The method of claim 1 , further comprising: categorizing each of the plurality of candidate edges into at least one of a plurality of categories, wherein each of the plurality of candidate object areas is comprised of a single candidate edge from each of the plurality of categories.
3. The method of claim 1 , wherein a candidate edge from the plurality of candidate edges is identified by identifying a group of pixels in the first image that have characteristics of being part of an edge and together form a line.
4. The method of claim 2 , wherein the plurality of categories comprise a top edge category, a bottom edge category, a right edge category, and a left edge category.
5. The method of claim 1 , wherein the object score of a candidate object area from the plurality of candidate object areas is calculated based on at least one of: lengths of the candidate edges from the set of the candidate object area, whether the candidate object area is within an additional candidate object area, angles formed by the candidate edges from the set, strength of color gradient across edge pixels of the candidate edges from the set, contiguousness of edge pixels of the candidate edges from the set, and whether each end portion of a candidate edge included in the candidate object area is connected to an additional end portion.
6. An image capturing device for processing an image, the device comprising: a processor; and a non-transitory computer-readable storage medium storing computer-executable instructions which when executed by the processor cause the processor to perform steps comprising: automatically capturing a first image including an object from a captured perspective; identifying a plurality of candidate edges from the first image; creating a plurality of candidate object areas in the first image, each of the plurality of candidate object areas comprised of a different set of candidate edges from the plurality of candidate edges and potentially enclosing the object included in the first image; calculating, for each of the plurality of candidate object areas, an object score indicative of a likelihood that the candidate object area represents the object included in the first image; selecting, from the plurality of candidate object areas, a number of candidate object areas based on the selected candidate object areas having the highest object scores among the plurality of candidate object areas, the number of selected candidate object areas more than one and less than the plurality of candidate object areas; calculating, for each of the selected candidate object areas, a similarity score indicative of a similarity between the selected candidate object area and an object captured in a second image, the second image automatically captured by the image capturing device prior to the first image; calculating, for each of the selected candidate object areas, a total score based on the object score and the similarity score calculated for the selected candidate object area; identifying, from the selected candidate object areas, a candidate object area as the object included in the first image based on the total score calculated for the identified candidate object area being the highest among the selected candidate object areas; generating a corrected image of the object included in the first image based on the identified candidate object area, the corrected image showing the object included in the first image transformed to a corrected perspective; and displaying the corrected image.
7. The image capturing device of claim 6 , wherein the computer-executable instructions further cause the processor to perform steps comprising categorizing each of the plurality of candidate edges into at least one of a plurality of categories, wherein each of the plurality of candidate object areas is comprised of a single candidate edge from each of the plurality of categories.
8. The image capturing device of claim 6 , wherein a candidate edge from the plurality of candidate edges is identified by identifying a group of pixels in the first image that have characteristics of being part of an edge and together form a line.
9. The image capturing device of claim 7 , wherein the plurality of categories comprise a top edge category, a bottom edge category, a right edge category, and a left edge category.
10. A computer program product stored on a non-transitory computer-readable storage medium having computer-executable instructions which when executed by a processor cause the processor to perform steps comprising: automatically capturing, by an image capturing device, a first image including an object from a captured perspective; identifying a plurality of candidate edges from the first image; creating a plurality of candidate object areas in the first image, each of the plurality of candidate object areas comprised of a different set of candidate edges from the plurality of candidate edges and potentially enclosing the object included in the first image; calculating, for each of the plurality of candidate object areas, an object score indicative of a likelihood that the candidate object area represents the object included in the first image; selecting, from the plurality of candidate object areas, a number of candidate object areas based on the selected candidate object areas having the highest object scores among the plurality of candidate object areas, the number of selected candidate object areas more than one and less than the plurality of candidate object areas; calculating, for each of the selected candidate object areas, a similarity score indicative of a similarity between the selected candidate object area and an object captured in a second image, the second image automatically captured by the image capture device prior to the first image; calculating, for each of the selected candidate object areas, a total score based on the object score and the similarity score calculated for the selected candidate object area; identifying, from the selected candidate object areas, a candidate object area as the object included in the first image based on the total score calculated for the identified candidate object area being the highest among the selected candidate object areas; generating a corrected image of the object included in the first image based on the identified candidate object area, the corrected image showing the object included in the first image transformed to a corrected perspective; and displaying the corrected image.
11. The computer program product of claim 10 , wherein the computer-executable instructions when executed by the processor further cause the processor to perform steps comprising categorizing each of the plurality of candidate edges into at least one of a plurality of categories, wherein each of the plurality of candidate object areas is comprised of a single candidate edge from each of the plurality of categories.
12. The computer program product of claim 10 , wherein a candidate edge from the plurality of candidate edges is identified by identifying a group of pixels in the first image that have characteristics of being part of an edge and together form a line.
13. The method of claim 1 , wherein the first image is a full resolution image of the object, and wherein the plurality of candidate edges are identified and the plurality of candidate object areas are created from a scaled down version of the first image, and the method further comprising: responsive to receiving a request to store the corrected image, generating an additional corrected image of the object using the full resolution image, the additional corrected image showing the object transformed to the corrected perspective; and storing the additional corrected image.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 27, 2013
December 13, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.