Image pre-processing for reducing consumption of resources
First Claim
1. A computer-implemented method comprising:
- acquiring an input image via a camera of a mobile computing device;
determining an amount of texture in the input image;
performing a smoothing operation on the input image to produce a smoothed image;
creating a binarized image from the smoothed image;
identifying a plurality of contours using the binarized image, wherein each contour of the plurality of contours corresponds to a glyph of a plurality of glyphs;
computing a plurality of features for a first glyph of the plurality of glyphs, wherein the features are computed using at least one of the input image, the smoothed image, or the binarized image;
computing a plurality of scores for the first glyph using at least a portion of the plurality of features, wherein each score of the plurality of scores corresponds to a type of glyph;
creating a group of glyphs comprising the first glyph using the plurality of scores for the first glyph;
determining a type for the group of glyphs, wherein the type comprises text, barcode, or QR code; and
causing a recognition operation to be performed using at least a portion of the input image, at least a portion of the smoothed image, or at least a portion of the binarized image, wherein the recognition operation corresponds to the type of the group.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the subject technology provide methods and systems of image pre-processing for improving the accuracy of optical character recognition (OCR) and reducing the power consumption on a given computing device (e.g., mobile computing device). The subject technology, in some examples, classifies an image received from a camera of a mobile computing device into one or more classes: 1) normal background, 2) textured background, 3) image with text, 4) image with barcode, 5) image with QR code, and/or 6) image with clutter or “garbage.” Based on the classes associated with the image, the subject technology may forgo certain image processing operations, when the image is not associated with a particular class, in order to save resources (e.g., CPU cycles, battery power, memory usage, etc.) on the mobile computing device.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
acquiring an input image via a camera of a mobile computing device; determining an amount of texture in the input image; performing a smoothing operation on the input image to produce a smoothed image; creating a binarized image from the smoothed image; identifying a plurality of contours using the binarized image, wherein each contour of the plurality of contours corresponds to a glyph of a plurality of glyphs; computing a plurality of features for a first glyph of the plurality of glyphs, wherein the features are computed using at least one of the input image, the smoothed image, or the binarized image; computing a plurality of scores for the first glyph using at least a portion of the plurality of features, wherein each score of the plurality of scores corresponds to a type of glyph; creating a group of glyphs comprising the first glyph using the plurality of scores for the first glyph; determining a type for the group of glyphs, wherein the type comprises text, barcode, or QR code; and causing a recognition operation to be performed using at least a portion of the input image, at least a portion of the smoothed image, or at least a portion of the binarized image, wherein the recognition operation corresponds to the type of the group. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a processor; and a memory device including instructions that, when executed by the processor, cause the processor to; receive an image; create a binarized image from the image; identify a plurality of contours using the binarized image, wherein each contour of the plurality of contours corresponds to a glyph of a plurality of glyphs; compute a plurality of features for a first glyph of the plurality of glyphs; compute a plurality of scores for the first glyph using at least a portion of the plurality of features, wherein each score of the plurality of scores corresponds to a type of glyph; create a group of glyphs comprising the first glyph using the plurality of scores for the first glyph; determine a type for the group of glyphs; cause a recognition operation to be performed for the group, wherein the recognition operation corresponds to the type of the group. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium including instructions stored therein that, when executed by at least one computing device, cause the at least one computing device to:
-
receive an image; create a binarized image from the image; identify a plurality of contours using the binarized image, wherein each contour of the plurality of contours corresponds to a glyph of a plurality of glyphs; compute a plurality of features for a first glyph of the plurality of glyphs; compute a plurality of scores for the first glyph using at least a portion of the plurality of features, wherein each score of the plurality of scores corresponds to a type of glyph; create a group of glyphs comprising the first glyph using the plurality of scores for the first glyph; determine a type for the group of glyphs; and cause a recognition operation to be performed for the group, wherein the recognition operation corresponds to the type of the group. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification