BACKGROUND

Technological advancement has enabled physical documents to be converted to digital files, and data recorded in the physical documents to be captured as digital data. Such digital files can be used to facilitate transactions. For example, remote deposit capture (RDC) enables a user to capture an image of a negotiable instrument, such as a check, to provide a digital file (e.g., image file), which can be used to deposit the negotiable instrument at a financial institution. Transaction data can be determined from the digital file, which can be used to provide information required to complete the deposit.

Capture of the physical document to a digital file can be imperfect, which can frustrate subsequent handling of the digital file. For example, a user can use a device (e.g., a smartphone) to capture an image (recorded in a digital file) of a negotiable instrument. If the negotiable instrument is not properly aligned, the image is blurry, and/or the lighting insufficient, it may not be possible to accurately and/or efficiently determine transaction data. Consequently, the digital image may be rejected, and another image required. This is not only detrimental to the user's experience (e.g., frustrating users), it results in inefficiencies with respect to the underlying resources (e.g., processors, memory, communication bandwidth), as processes need be repeated.

SUMMARY

This specification relates to automatically applying a filter of a plurality of filters to an image to enable processing of the image for determining data captured in the image.

In general, innovative aspects of the subject matter described in this specification can be embodied in methods that include actions of receiving a training image, providing a hash pattern that is representative of the training image, applying a plurality of filters to the training image to provide a respective plurality of filtered training images, identifying a filter to be associated with the hash pattern based on the plurality of filtered training images, and storing a mapping of the filter to the hash pattern within a set of mapping in a data store. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.

These and other implementations can each optionally include one or more of the following features: the hash pattern includes a binary string; the hash pattern is at least partially provided by one or more of providing a micro-image, applying a convolution edge filter to the micro-image, and applying bi-level encoding to the micro-image; identifying a filter to be associated with the hash pattern includes determining respective accuracies of data read from each of the filtered images, identifying a filtered image as having the highest accuracy of data read, the filtered image having been provided from the training image, and associating the filter used to provide the filtered image to the hash pattern of the training image; actions further include receiving a transaction image captured by a computing device, the transaction image representing a document to be used in executing a transaction, providing a transaction hash pattern for the transaction image, identifying the filter as to be applied to the transaction image based on the mapping, providing a filtered transaction image using the filter, and determining data from the filtered transaction image, the data being used to execute the transaction; identifying the filter as to be applied to the transaction image based on the mapping includes determining that the transaction hash pattern sufficiently matches the hash pattern mapped to the filter; determining that the transaction hash pattern sufficiently matches the hash pattern mapped to the filter includes calculating a Hamming distance between the transaction hash pattern and the hash pattern, and comparing the Hamming distance to a threshold Hamming distance; determining data is performed by optical character recognition (OCR) of the filtered transaction image; the document includes a negotiable instrument; actions further include receiving a transaction image captured by a computing device, the transaction image representing a document to be used in executing a transaction, providing a transaction hash pattern for the transaction image, and determining that the transaction hash pattern does not correspond to any mapping in set of mapping, and in response, transmitting a notification to a user device that provided the transaction image, the notification providing instructions to capture another transaction image.

The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.

