原文网址:
作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于内森的分享。
它是做什么的
这个C项目将利用LEADTOOLS第19版来执行OCR、条码识别和文件的转换。
所使用的功能
· OCR
· Barcode
· Linux
开发进程日志
大家好,我是内森。我要写这样一个Linux应用程序,该程序可以将OCR、条码识别、以及文件转换整合到一个批处理应用程序中。我已经有相当长一段时间没有用C语言写程序了,所以这应该会很有趣!
既然已经安装好了LEADTOOLS SDK,我会从一些简单的东西入手,以便让自己的C齿轮转动起来。或许我应该从输入验证开始,因为我想确保用户能够正确地使用该应用程序;如果他们还不会使用的话,我会先将使用它的步骤打印出来。
花了几个小时来做这件事情以后,我觉得自己已经可以输入得很熟练了。然后,我想要将所有选项存储进一个结构,然后,如果标志可以传输过去的话,就开始调用那些可以做包括一个头文件在内的LEADTOOLS的所有东西的函数。
我还要继续写一个makefile文件,它可以链接到我们在这个程序中所需要的所有库,所以我不用再继续捣鼓编译,只需要键入“make.”就可以了。
现在,我要写一个可以进行文件转换的函数。这需要一个作为源的char *
文件、目标目录、预期的格式,以及一个可以与LEADTOOLS 类型进行通信的结构。
这个大概只用了45分钟时间!我打开目录时遇到了一些问题,但只用了大约35行代码。这包括了我们的源代码目录中每个文件里我们需要转换的所有代码,因此,必须承认对C语言来说这是相当惊人的。
既然这个已经可以运行了,我还要写一个用来进行条码识别的函数。
这个大概花了一个半小时。条码识别这个部分有点儿棘手,因为我需要几个可以从内部调用的辅助函数。即使如此,事情也并不是太糟糕,现在我的程序可以处理任何条形码,还可以将数据写入到一个文本文件中。现在,只要这两个标志可以作为命令行参数传输过去,我就可以对所有文件进行文件转换和条码识别。这实在是太棒了。
现在,最后一点(但并非最不重要的一点)是,我需要做OCR,这其实是一个非常复杂的事情!
这大概花了三个小时,因为我不算是最精通C语言的人。现在我可以对目录中的任何图像进行OCR,也就是光学字符识别,并且可以将文本输出至一个.txt类型的文件中。
然后,我需要做一些代码清洁并添加注解,但这应该只需要20分钟左右。
显然,这个东东能够让我在不到8小时的时间内就把事情收尾了。那么,在一个工作日内我可以写一个批处理应用程序,该程序可以将OCR,条码识别和文件转换的功能全部融合在一起。这对于Linux用户非常有用!编写一个脚本来运行该应用程序,您可以自动完成大量的工作。
在以后的版本中,我可能会将一些代码分离到函数部分,实现一些多线程的性能,并允许在int版本中使用一些格式常量或常用术语(TIF,JPG,PNG等等……) 。
下载该项目
该示例项目的源代码您可以点击进行下载。
04 Linux OCR, Barcode and Format Conversion Batch Processor.zip
支持
关于其他产品的更多信息,请访问我们的官方网站,
欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。
同时欢迎您使用评估版期间的免费技术支持。
关于葡萄城
葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。