The technology of the present disclosure includes computer-implemented methods, computer program products, and systems to filter images before transmitting to a system for optical character recognition (“OCR”). A user computing device obtains a first image of the card from the digital scan of a physical card and analyzes features of the first image, the analysis being sufficient to determine if the first image is likely to be usable by an OCR algorithm. If the user computing device determines that the first image is likely to be usable, then the first image is transmitted to an OCR system associated with the OCR algorithm. Upon a determination that the first image is unlikely to be usable, a second image of the card from the digital scan of the physical card is analyzed. The optical character recognition system performs an optical character recognition algorithm on the filtered card.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-implemented method to filter images before transmission to optical character recognition systems to reduce unnecessary communications and processing of unusable images, comprising: analyzing, by the mobile computing device, features of a first image of a card captured in a digital scan to determine whether the first image is likely to be usable by an optical character recognition algorithm operating on an optical character recognition system; selecting, by the mobile computing device, a second image of the card captured in the digital scan in response to determining that the first image is not likely to be usable by an optical character recognition algorithm operating on an optical character recognition system; analyzing, by the mobile computing device, features of the second image to determine whether the second image is likely to be usable by an optical character recognition algorithm operating on the optical character recognition system; and transmitting, by the mobile computing device, the second image to the optical character recognition system associated with the optical character recognition algorithm in response to determining that the second image is likely to be usable by the optical character recognition algorithm; and receiving, by the mobile computing device, the relevant data from the optical character recognition system.
A mobile app filters card images (like credit cards) before sending them for Optical Character Recognition (OCR) to reduce data usage and processing load. The app analyzes a first image of the card from a digital scan. If the app thinks the first image is good enough for OCR, it sends the image. If not, the app analyzes a second image from the same scan. The app then sends the second, better image to the OCR system. Finally, the app receives the extracted data from the OCR system.
2. The computer-implemented method of claim 1 , wherein a third image is captured upon receiving, by the one or more computer devices and from the optical character recognition system, an indication that the optical character recognition algorithm produced results that were below a configured threshold confidence level.
After sending a card image for OCR as described in claim 1 (analyzing a first image, selecting a second image if needed, sending the selected image), if the OCR system returns results with low confidence, the app captures and sends a third image for processing. The confidence level is compared against a pre-configured threshold to determine if another image is needed.
3. The computer-implemented method of claim 1 , wherein the analyzing step comprises: detecting, by the one or more computing devices, blur in the image; and determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of blur detected in the image is below a configured threshold.
When analyzing card images for OCR suitability as described in claim 1 (analyzing a first image, selecting a second image if needed, sending the selected image), the app checks for blur. It detects the amount of blur in the image and compares it to a set threshold. If the blur is below the threshold, the app determines that the image is usable for OCR and proceeds to transmit the image.
4. The computer-implemented method of claim 1 , wherein the analyzing step comprises: detecting, by the one or more computing devices, a level of brightness in the image; and determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that the level of brightness detected in the image is between configured thresholds.
When analyzing card images for OCR suitability as described in claim 1 (analyzing a first image, selecting a second image if needed, sending the selected image), the app checks the brightness level of the image. If the brightness falls within a specified range (between a minimum and maximum threshold), the app determines that the image is likely to be usable by the OCR algorithm and proceeds to transmit the image.
5. The computer-implemented method of claim 1 , wherein the analyzing step comprises: detecting, by the one or more computing devices, text in the image; and determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of text detected in the image is above a configured threshold.
When analyzing card images for OCR suitability as described in claim 1 (analyzing a first image, selecting a second image if needed, sending the selected image), the app detects the presence of text within the image. If the amount of text detected exceeds a pre-configured threshold, the app considers the image likely to be usable by the OCR algorithm and transmits the image for OCR processing.
6. The computer-implemented method of claim 5 , further comprising determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that the text detected in the image is in a location of the image that corresponds to a configured expected location.
Following the process in claim 5 (detecting if text is present in the image) to determine if a card image is suitable for OCR, the app further checks if the detected text is located in the expected area of the card image. If the text's location matches a pre-configured expected location, the app determines that the image is likely usable by the OCR algorithm and transmits the image.
7. The computer-implemented method of claim 1 , wherein the card is a credit card, a debit card, an identification card, a loyalty card, an access card, or a stored value card.
The card image being analyzed as described in claim 1 (analyzing a first image, selecting a second image if needed, sending the selected image) can be any of the following types of cards: a credit card, a debit card, an identification card, a loyalty card, an access card, or a stored value card.
8. A computer program product, comprising: a non-transitory computer-readable storage device having computer-executable program instructions embodied thereon that when executed by a computer cause the computer to filter images before transmission to optical character recognition systems to reduce unnecessary communications and processing, the computer-executable program instructions, comprising: computer-executable program instructions to analyze features of the first image of a card captured in a digital scan to determine whether the first image is likely to be usable by an optical character recognition algorithm; computer-readable program instructions to select a second image of the card captured in the digital scan in response to determining that the first image is not likely to be usable; computer-readable program instructions to analyze features of the second image to determine whether the second image is likely to be usable by an optical character recognition algorithm; computer-executable program instructions to transmit the second image to an optical character recognition system associated with the optical character recognition algorithm in response to determining that the second image is likely to be usable by an optical character recognition algorithm.
A computer program, stored on a non-transitory storage device, filters card images before sending them for OCR to reduce data usage and processing. The program analyzes a first image of a card from a digital scan. If the program thinks the first image is good enough for OCR, it prepares to transmit the image. If not, the program analyzes a second image from the same scan. The program then sends the second, better image to the OCR system.
9. The computer program product of claim 8 , wherein a third image is selected upon receiving, from the optical character recognition system, an indication that the optical character recognition algorithm produced results that were below a configured threshold confidence level.
The computer program of claim 8 (analyzing a first image, selecting a second image if needed, sending the selected image), is further enhanced such that if the OCR system returns results with low confidence, the program selects a third image for processing. The confidence level is compared against a pre-configured threshold to determine if another image is needed.
10. The computer program product of claim 8 , wherein the analyzing step comprises: computer-executable program instructions to detect blur in the image; and computer-executable program instructions to determine the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of blur detected in the image is below a configured threshold.
When the computer program of claim 8 (analyzing a first image, selecting a second image if needed, sending the selected image) analyzes card images for OCR suitability, the program checks for blur. It detects the amount of blur in the image and compares it to a set threshold. If the blur is below the threshold, the program determines that the image is usable for OCR.
11. The computer program product of claim 8 , wherein the analyzing step comprises: computer-executable program instructions to detect a level of brightness in the image; and computer-executable program instructions to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the level of brightness detected in the image is between configured thresholds.
When the computer program of claim 8 (analyzing a first image, selecting a second image if needed, sending the selected image) analyzes card images for OCR suitability, the program checks the brightness level of the image. If the brightness falls within a specified range (between a minimum and maximum threshold), the program determines that the image is likely to be usable by the OCR algorithm.
12. The computer program product of claim 8 , wherein the analyzing step comprises: computer-executable program instructions detect text in the image; and computer-executable program instructions to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of text detected in the image is above a configured threshold.
When the computer program of claim 8 (analyzing a first image, selecting a second image if needed, sending the selected image) analyzes card images for OCR suitability, the program detects the presence of text within the image. If the amount of text detected exceeds a pre-configured threshold, the program considers the image likely to be usable by the OCR algorithm.
13. The computer program product of claim 12 , further comprising computer-readable program instructions that cause the system to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the text detected in the image is in a location of the image that corresponds to a configured expected location.
Following the process in claim 12 (detecting if text is present in the image) to determine if a card image is suitable for OCR, the computer program of claim 8 (analyzing a first image, selecting a second image if needed, sending the selected image) further checks if the detected text is located in the expected area of the card image. If the text's location matches a pre-configured expected location, the program determines that the image is likely usable by the OCR algorithm.
14. A system to filter images, the system comprising: a storage resource; a processor communicatively coupled to the storage resource, wherein the processor is configured to execute computer-readable instructions that are stored in the storage resource and that cause the system to: analyze features of a first image of a card captured in a digital scan to determine whether the first image is likely to be usable by an optical character recognition algorithm operating on an optical character recognition system; capture a second image of the card in response to determining that the first image is not likely to be usable; analyze features of the second image to determine whether the second image is likely to be usable by an optical character recognition algorithm; and transmit the second image to an optical character recognition system associated with the optical character recognition algorithm in response to determining that the second image is likely to be usable by an optical character recognition algorithm; and receive the relevant data from the optical character recognition system.
A system filters card images before sending them for OCR to reduce data usage and processing. The system analyzes a first image of a card from a digital scan. If the system thinks the first image is good enough for OCR, it prepares to transmit the image. If not, the system captures a second image from the same scan. The system then sends the second, better image to the OCR system. Finally, the system receives the extracted data from the OCR system.
15. The system of claim 14 , wherein a second image is captured upon receiving, from the optical character recognition system, an indication that the optical character recognition algorithm produced results that were below a configured threshold confidence level.
In the image filtering system described in claim 14 (analyzing a first image, capturing a second image if needed, sending the selected image), if the OCR system returns results with low confidence, the system captures a third image for processing. The confidence level is compared against a pre-configured threshold to determine if another image is needed.
16. The system of claim 14 , wherein the analyzing step comprises computer-readable instructions that cause the system to: detect blur in the image; and determine the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of blur detected in the image is below a configured threshold.
When the system of claim 14 (analyzing a first image, capturing a second image if needed, sending the selected image) analyzes card images for OCR suitability, the system checks for blur. It detects the amount of blur in the image and compares it to a set threshold. If the blur is below the threshold, the system determines that the image is usable for OCR.
17. The system of claim 14 , wherein the analyzing step comprises computer-readable instructions that cause the system to: detect a level of brightness in the image; and determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the level of brightness detected in the image is between configured thresholds.
When the system of claim 14 (analyzing a first image, capturing a second image if needed, sending the selected image) analyzes card images for OCR suitability, the system checks the brightness level of the image. If the brightness falls within a specified range (between a minimum and maximum threshold), the system determines that the image is likely to be usable by the OCR algorithm.
18. The system of claim 14 , wherein the analyzing step comprises computer-readable instructions that cause the system to: detect text in the image; and determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of text detected in the image is above a configured threshold.
When the system of claim 14 (analyzing a first image, capturing a second image if needed, sending the selected image) analyzes card images for OCR suitability, the system detects the presence of text within the image. If the amount of text detected exceeds a pre-configured threshold, the system considers the image likely to be usable by the OCR algorithm.
19. The system of claim 18 , further comprising computer-readable instructions that cause the system to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the text detected in the image is in a location of the image that corresponds to a configured expected location.
Following the process in claim 18 (detecting if text is present in the image) to determine if a card image is suitable for OCR, the system of claim 14 (analyzing a first image, capturing a second image if needed, sending the selected image) further checks if the detected text is located in the expected area of the card image. If the text's location matches a pre-configured expected location, the system determines that the image is likely usable by the OCR algorithm.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 13, 2017
August 22, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.