BLURRING BASED CONTENT RECOGNIZER
First Claim
1. A computer implemented method, comprising:
- receiving an image;
pre-processing the image resulting in a pre-processed image;
calculating a metric based on the pre-processed image;
generating a binary image from the pre-processed image based on the metric;
identifying one or more regions of the binary image using connected components analysis;
selecting a region of interest in the image based on an analysis of the identified regions of the binary image; and
using a probabilistic cost function to refine the region of interest.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer program products, for identifying regions of interest in an image and identifying a barcode in a degraded image are provided. A region of interest is identified by pre-processing an image, generating a binary image based on a metric calculated on the pre-processed image, and analyzing regions of the image identified using connected components and other analysis. A barcode is identified by searching a population of barcodes, degrading ideal image intensity profiles of candidate barcodes, and comparing the degraded ideal image intensity profiles to an image intensity profile of the degraded image.
113 Citations
36 Claims
-
1. A computer implemented method, comprising:
-
receiving an image; pre-processing the image resulting in a pre-processed image; calculating a metric based on the pre-processed image; generating a binary image from the pre-processed image based on the metric; identifying one or more regions of the binary image using connected components analysis; selecting a region of interest in the image based on an analysis of the identified regions of the binary image; and using a probabilistic cost function to refine the region of interest. - View Dependent Claims (2, 3, 4)
-
-
5. A computer implemented method, comprising:
-
receiving a degraded image of a first barcode; generating an image intensity profile of the degraded image; searching a population of barcodes, the searching including selecting a candidate barcode from the population of barcodes and comparing a degraded version of an ideal image intensity profile of the candidate barcode to the image intensity profile of the degraded image; and selecting a final barcode from the population of barcodes based on the comparison. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer implemented method, comprising:
-
receiving a degraded image of a first barcode; generating an image intensity profile for the degraded image; searching a population of barcodes, the searching including identifying a current population of barcodes and repeating the following steps one or more times; for each barcode in the current population, calculating a fitness score comparing a degraded version of an ideal intensity profile corresponding to the barcode to an intensity profile of the degraded image; and updating the current population using the calculated fitness scores; and selecting a final barcode from the population of barcodes based on the calculated fitness scores.
-
-
20. A computer implemented method, comprising:
-
receiving a degraded image of a first barcode; pre-processing the degraded image resulting in a pre-processed image; calculating a metric based on the pre-processed image; generating a binary image from the pre-processed image based on the metric; identifying one or more regions of the binary image using connected components analysis; selecting a region of interest in the degraded image based on an analysis of the identified regions of the binary image; using a probabilistic cost function to refine the region of interest; generating an intensity profile of the refined region of interest. searching a finite population of barcodes, the searching including identifying a current population of barcodes and repeating the following steps one or more times; for each barcode in the current population, calculating a fitness score comparing a degraded version of an ideal intensity profile corresponding to the barcode to the intensity profile of the refined region of interest; and updating the current population using the calculated fitness scores; and selecting a final barcode from the population of barcodes based on the calculated fitness scores.
-
-
21. A system comprising:
-
a processor; and a computer-readable medium coupled to the processor and including instructions, which, when executed by the processor, causes the processor to perform operations comprising; receiving an image; pre-processing the image resulting in a pre-processed image; calculating a metric based on the pre-processed image; generating a binary image from the pre-processed image based on the metric; identifying one or more regions of the binary image using connected components analysis; selecting a region of interest in the image based on an analysis of the identified regions of the binary image; and using a probabilistic cost function to refine the region of interest.
-
-
22. A system comprising:
-
a processor; and a computer-readable medium coupled to the processor and including instructions, which, when executed by the processor, cause the processor to perform operations comprising; receiving a degraded image of a first barcode from a client; generating an image intensity profile of the degraded image; searching a population of barcodes, the searching including selecting a candidate barcode from the population of barcodes and comparing a degraded version of an ideal image intensity profile of the candidate barcode to the image intensity profile of the degraded image; selecting a final barcode from the population of barcodes based on the comparison; and sending the final barcode to the client. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A system comprising:
-
a processor; and a computer-readable medium coupled to the processor and including instructions, which, when executed by the processor, cause the processor to perform operations comprising; receiving a degraded image of a first barcode from a client; generating an image intensity profile for the degraded image; searching a population of barcodes, the searching including identifying a current population of barcodes and repeating the following steps one or more times; for each barcode in the current population, calculating a fitness score comparing a degraded version of an ideal intensity profile corresponding to the barcode to an intensity profile of the degraded image; and updating the current population using the calculated fitness scores; selecting a final barcode from the population of barcodes based on the calculated fitness scores; and sending the final barcode to the client.
-
-
28. A system comprising:
-
a processor; and a computer-readable medium coupled to the processor and including instructions, which, when executed by the processor, cause the processor to perform operations comprising; receiving a degraded image of a first barcode from a client; pre-processing the degraded image resulting in a pre-processed image; calculating a metric based on the pre-processed image; generating a binary image from the pre-processed image based on the metric; identifying one or more regions of the binary image using connected components analysis; selecting a region of interest in the degraded image based on an analysis of the identified regions of the binary image; using a probabilistic cost function to refine the region of interest; generating an intensity profile of the refined region of interest. searching a finite population of barcodes, the searching including identifying a current population of barcodes and repeating the following steps one or more times; for each barcode in the current population, calculating a fitness score comparing a degraded version of an ideal intensity profile corresponding to the barcode to the intensity profile of the refined region of interest; and updating the current population using the calculated fitness scores; selecting a final barcode from the population of barcodes based on the calculated fitness scores; and sending the final barcode to the client.
-
-
29. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
-
receiving an image; pre-processing the image resulting in a pre-processed image; calculating a metric based on the pre-processed image; generating a binary image from the pre-processed image based on the metric; identifying one or more regions of the binary image using connected components analysis; selecting a region of interest in the image based on an analysis of the identified regions of the binary image; and using a probabilistic cost function to refine the region of interest.
-
-
30. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
-
receiving a degraded image of a first barcode; generating an image intensity profile of the degraded image; searching a population of barcodes, the searching including selecting a candidate barcode from the population of barcodes and comparing a degraded version of an ideal image intensity profile of the candidate barcode to the image intensity profile of the degraded image; and selecting a final barcode from the population of barcodes based on the comparison. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
-
receiving a degraded image of a first barcode; generating an image intensity profile for the degraded image; searching a population of barcodes, the searching including identifying a current population of barcodes and repeating the following steps one or more times; for each barcode in the current population, calculating a fitness score comparing a degraded version of an ideal intensity profile corresponding to the barcode to an intensity profile of the degraded image; and updating the current population using the calculated fitness scores; and selecting a final barcode from the population of barcodes based on the calculated fitness scores.
-
-
36. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
-
receiving a degraded image of a first barcode; pre-processing the degraded image resulting in a pre-processed image; calculating a metric based on the pre-processed image; generating a binary image from the pre-processed image based on the metric; identifying one or more regions of the binary image using connected components analysis; selecting a region of interest in the degraded image based on an analysis of the identified regions of the binary image; using a probabilistic cost function to refine the region of interest; generating an intensity profile of the refined region of interest. searching a finite population of barcodes, the searching including identifying a current population of barcodes and repeating the following steps one or more times; for each barcode in the current population, calculating a fitness score comparing a degraded version of an ideal intensity profile corresponding to the barcode to the intensity profile of the refined region of interest; and updating the current population using the calculated fitness scores; and selecting a final barcode from the population of barcodes based on the calculated fitness scores.
-
Specification