Image processing methods and systems for barcode and/or product label recognition
First Claim
1. A method of identifying a plurality of barcodes associated with a plurality of respective product labels, the product labels including one or more barcodes and other non-barcode related product label information, the method comprising:
- an image capturing device capturing an image of a plurality of product labels and storing the captured image in a memory operatively associated with the image capturing device;
a processor operatively associated with the memory detecting and localizing a plurality of barcode candidate regions within the captured image of the plurality of product labels;
the processor cropping the detected and localized plurality of barcode candidate regions to generate one or more respective sub-images of the captured image including images of the one or more barcode candidate regions, the sub-images including a region of the captured image defined by the size of a detected barcode within the respective barcode candidate region and excluding substantially all of the other product label information associated with the respective detected barcode;
the processor processing each sub-image using two or more independent image quality improvement processes to generate modified versions of each of the plurality of barcode candidate regions and respective detected barcodes within the respective barcode candidate regions;
the processor processing the modified versions of each of the plurality of barcode candidate regions using a binary process to decode readable barcodes included in each of the modified versions of each of the candidate barcode regions to generate a numerical representation of the readable barcodes and identifying barcode candidate regions including barcodes nondecodable using the binary process; and
for each of the plurality of barcode candidate regions including a nondecodable barcode,the processor processing the captured image of the plurality of product labels to determine auxiliary product information regions including a greater number of pixels than the respective barcode candidate region including a nondecodable barcode;
the processor determining a price-tag layout associated with each of the auxiliary product information regions by matching the auxiliary product information regions with one or more reference price-tag templates including the physical layout of the other non-barcode related product information associated with each price-tag template;
the processor extracting the other non-barcode related product label information from the auxiliary product information regions based on a matched price-tag template; and
the processor determining a numerical representation of the nondecodable barcodes associated with each auxiliary product information region based on the extracted other non-barcode related product label information of the respective auxiliary product information region.
4 Assignments
0 Petitions
Accused Products
Abstract
This disclosure provides an image processing method and system for recognizing barcodes and/or product labels. According to an exemplary embodiment, the method uses a multifaceted detection process that includes both image enhancement of a candidate barcode region and other product label information associated with a candidate barcode region to identify a product label, where the candidate barcode region includes a nonreadable barcode. According to one exemplary application, a store profile is generated based on the identifications of the product labels which are associated with a location of a product within a store.
43 Citations
21 Claims
-
1. A method of identifying a plurality of barcodes associated with a plurality of respective product labels, the product labels including one or more barcodes and other non-barcode related product label information, the method comprising:
-
an image capturing device capturing an image of a plurality of product labels and storing the captured image in a memory operatively associated with the image capturing device; a processor operatively associated with the memory detecting and localizing a plurality of barcode candidate regions within the captured image of the plurality of product labels; the processor cropping the detected and localized plurality of barcode candidate regions to generate one or more respective sub-images of the captured image including images of the one or more barcode candidate regions, the sub-images including a region of the captured image defined by the size of a detected barcode within the respective barcode candidate region and excluding substantially all of the other product label information associated with the respective detected barcode; the processor processing each sub-image using two or more independent image quality improvement processes to generate modified versions of each of the plurality of barcode candidate regions and respective detected barcodes within the respective barcode candidate regions; the processor processing the modified versions of each of the plurality of barcode candidate regions using a binary process to decode readable barcodes included in each of the modified versions of each of the candidate barcode regions to generate a numerical representation of the readable barcodes and identifying barcode candidate regions including barcodes nondecodable using the binary process; and for each of the plurality of barcode candidate regions including a nondecodable barcode, the processor processing the captured image of the plurality of product labels to determine auxiliary product information regions including a greater number of pixels than the respective barcode candidate region including a nondecodable barcode; the processor determining a price-tag layout associated with each of the auxiliary product information regions by matching the auxiliary product information regions with one or more reference price-tag templates including the physical layout of the other non-barcode related product information associated with each price-tag template; the processor extracting the other non-barcode related product label information from the auxiliary product information regions based on a matched price-tag template; and the processor determining a numerical representation of the nondecodable barcodes associated with each auxiliary product information region based on the extracted other non-barcode related product label information of the respective auxiliary product information region. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An image processing system for identifying a plurality of barcodes associated with a plurality of respective product labels, the product labels including one or more barcodes and other non-barcode related product label information, the image processing system comprising:
-
an image capturing device; and a memory operatively associated with the image capturing device, a processor operatively associated with one or both of the image capturing device and memory, the image capturing device configured to capture an image of a plurality of product labels and storing the captured image in the memory operatively associated with the image capturing device; the processor configured to detect and localize a plurality of barcode candidate regions within the captured image of the plurality of product labels; the processor configured to crop the detected and localized plurality of barcode candidate regions to generate one or more respective sub-images of the captured image including images of the one or more barcode candidate regions; the processor configured to process each sub-image using two or more independent image quality improvement processes to generate modified versions of each of the plurality of barcode candidate regions; the processor configured to process the modified versions of each of the plurality of barcode candidate regions to decode readable barcodes included in the modified versions of each of the candidate barcode regions; and for each of the plurality of barcode candidate regions including a nondecodable barcode, the processor configured to process the captured image of the plurality of product labels to determine auxiliary product information regions including a greater number of pixels than the respective barcode candidate region including a nondecodable barcode; the processor configured to determine a price-tag layout associated with each of the auxiliary product information regions by matching the auxiliary product information regions with one or more reference price-tag templates including the physical layout of the other non-barcode related product information associated with each price-tag template; the processor configured to extract the other non-barcode related product label information from the auxiliary product information regions based on a matched price-tag template; and the processor configured to determine a numerical representation of the nondecodable barcodes associated with each auxiliary product information region based on the extracted other non-barcode related product label information of the respective auxiliary product information region. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of performing product label identification, the product label including one or more barcodes and other product label information, the method comprising:
-
an image capturing device capturing an image of the product label and storing the captured image in a memory operatively associated with the image capturing device; a processor operatively associated with the memory detecting and localizing one or more barcode candidate regions within the captured image of the product label; cropping the detected and localized one or more barcode candidate regions to generate one or more sub-mages including the one or more barcode candidate regions; processing each sub-image to decode readable barcodes included in the barcode candidate regions and identify barcode candidate regions including an unreadable barcode; processing all or a portion of the captured image of the product label associated with the unreadable barcode to determine all or part of the other product label information association with the unreadable barcode; comparing the determined other product label information to a plurality of product label templates to determine a layout associated with the product label including an unreadable barcode candidate region; processing the captured image of the product label to extract all or part of the other product label information based on the determined layout associated with the product label; and identifying the captured image of the product label as including one of a plurality of unique predefined product labels. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification