使用 LEADTOOLS 读取和处理支票





0/5 (0投票)
LEADTOOLS在其屡获殊荣的文档成像工具包系列中包含一个强大的支票扫描和处理SDK,并且已经被银行业、保险业和零售业的许多应用程序所使用。
引言
尽管信用卡和数字钱包一直在试图取代,支票仍然是一种非常普遍且实用的支付和金融交易方式。然而,仅仅因为消费者和企业仍然依赖传统的纸质金融交易,并不意味着技术无法简化存款并提高客户满意度。现在许多ATM机都接受支票并自动读取数值,还有一些正在推出应用程序,可以直接从智能手机或平板电脑进行存款,从而省去了去银行或ATM机的麻烦。金融机构是如何实现这些功能的?对于非金融行业的其他企业又有什么好处呢?
LEADTOOLS在其屡获殊荣的文档成像工具包系列中包含一个强大的支票扫描和处理SDK,并且已经被银行业、保险业和零售业的许多应用程序所使用。它结合了先进的磁性墨水字符识别(MICR)和光学字符识别(OCR)技术,能够快速准确地从通过扫描仪或移动设备摄像头捕获的支票图像中提取每个相关的字段及其数据。诸如倾斜校正和透视校正等高级图像处理算法可以提高低质量图像的准确性。此外,LEADTOOLS还提供了多种跨平台编程接口,使开发人员能够为iOS、Android和Windows Phone设备创建原生应用程序。
在金融行业之外,支票扫描SDK还可以用于实现独特的解决方案,例如基于平板电脑的销售点(Point of Sale)信息亭,它们接受支票作为一种支付方式。此外,任何接受支票的企业都可以使用LEADTOOLS的支票扫描和图像处理功能来编辑其图像中的敏感信息,从而保护其客户。
使用LEADTOOLS支票阅读器
LEADTOOLS支票扫描和处理技术的核心是BankCheckReader
类。这个高级对象封装了整个过程,只需要几行代码就可以从支票中读取数据。要设置BankCheckReader
,只需为其提供一个OCR引擎实例即可准备就绪。
// Create check reader
BankCheckReader checkReader = new BankCheckReader();
// Create and assign OCR engine used by the check reader
IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);
ocrEngine.Startup(null, null, null, null);
checkReader.OcrEngine = ocrEngine;
一旦BankCheckReader
初始化,其ProcessImage
函数将使用OCR引擎来查找每个字段。由于支票是半结构化表单,某些字符串如“支付给”、“日期”、“金额”等在大多数文档的相似位置都存在。在找到这些标识性标题后,LEADTOOLS将检查每个标题附近的图像,并可靠地提取字段本身内的信息。
在处理过程中,每个字段的值和边界矩形都会被添加到BankCheckField
对象的Dictionary
中。完成后,可以枚举BankCheckReader.Results
成员以供显示或用于您的业务逻辑。如示例和下面的截图所示,结果会显示在DataGridView
中,并带有一个点击处理程序,该处理程序使用边界矩形绘制一个高亮注释,并提取字段值的裁剪和放大图像。
// Load and process the image
RasterImage rasterImage = rasterCodecs.Load(fileName);
checkReader.ProcessImage(rasterImage);
// Loop through the BankCheckFields and display the results
foreach (var item in checkReader.Results)
{
DataGridViewRow row = new DataGridViewRow();
row.CreateCells(dataGridView1, item.Key, item.Value.Text);
row.Tag = item.Value;
dataGridView1.Rows.Add(row);
}
移动设备的专用图像处理:透视倾斜校正
手机是推动自动支票扫描需求的主要驱动力之一。然而,由于低DPI图像、糟糕的光照和糟糕的角度相结合,获得高质量图像可能是一个挑战。虽然可以添加十字准线和矩形框来帮助用户捕获更好的图像,但LEADTOOLS更进一步,解决了许多这些问题。
通过PerspectiveDeskewCommand
,开发人员可以为用户提供极大的灵活性,从而获得更具用户友好性和准确性的应用程序。当使用手机和平板电脑时,大多数图片都是以角度拍摄的,例如下面截图中的四个示例
左上角的图像代表最佳情况,角度大部分是直的,但是图像仍然具有部分倾斜的透视,因为顶部边缘看起来比底部短,而不是一个完美的矩形。接下来的图像依次变差,最后一张图像以近二十度的角度拍摄,并且角落被裁剪掉了。只需两行代码,LEADTOOLS就能自动纠正所有这些问题,并去除背景。
PerspectiveDeskewCommand cmd = new PerspectiveDeskewCommand();
cmd.Run(rasterImageViewer1.Image);
其他用途和考虑因素
BankCheckReader
除了处理机器打印的银行支票外,还可以处理个人支票。个人支票上的字段和位置几乎相同,但由于手写文本和个性化设计而具有挑战性。拥有一个全面的文档成像SDK在这些情况下至关重要。LEADTOOLS拥有丰富的文档清理和图像增强算法集合,可以减去背景并为文本区域提供更高的对比度,以供OCR使用。
此外,授权签名字段可能是一个棘手的导航区域。大多数情况下不需要实际的签名值,但验证签名确实是必要的。通过在BankCheckField
中提供边界矩形,可以在裁剪的图像上使用BlankPageDetectorCommand
来确定是否已签名。
在这两种情况下,当与Proof Operators(校对操作员)按需进行手动验证相结合时,大部分过程仍然可以自动化和简化。与其将所有工作都交给手动数据录入,只有那些缺少字段或结果低于置信度阈值的图像才会被验证和纠正。例如,在实现移动存款时,所有机器打印的字段和MICR字符串都会自动检索,但客户可能需要输入或验证金额。通过使用边界矩形、图像处理和查看器控件,还可以创建更高效的Proof Operator应用程序,自动放大他们需要查看的字段,例如金额和签名。
结论
在当今市场中,支票短期内不会消失,但是像LEADTOOLS支票扫描SDK这样的文档成像工具包正在帮助市场在当今以移动为中心、数字化的世界中,让客户保持满意并快速前进。LEADTOOLS快速准确的MICR和OCR引擎、图像处理以及跨平台开发库为银行、保险公司和现代销售点系统提供了广泛的开发机会。
下载完整的支票读取和处理示例
您可以下载包含上述功能的完整功能演示。要运行此示例,您需要以下条件:
- LEADTOOLS 免费 60 天试用版
- Visual Studio 2008 或更高版本
- 浏览至 LEADTOOLS 示例文件夹(例如,C:\LEADTOOLS 19\Examples\),您可以在其中找到此示例以及 LEADTOOLS 中许多其他技术的示例项目。
支持
需要帮助来启动并运行这个示例吗?联系我们的支持团队以获得免费技术支持!有关定价或许可问题,您可以联系我们的销售团队(sales@leadtools.com)或致电704-332-5532。