作为LEAD技术25周年纪念的一部分,我们正在创建25天内的25个项目,以庆祝LEAD的深度功能和易用性.今天的项目来自Nathan。
它的作用
这个C项目将使用LEADTOOLS Version 19执行OCR,条形码识别和文件转换。
功能使用
发展进度期刊
你好,我的名字是Nathan,我将编写一个Linux应用程序,它将OCR、条形码识别和文件转换结合到一个批处理应用程序中。我已经有一段时间没有用C写程序了,所以这应该很有趣!
因为我已经安装了LEADTOOLS SDK,所以我将从一些简单的东西开始让我的C齿轮转动。我将从输入验证开始,因为我想确保用户正确地使用应用程序,并打印出如何使用它,如果他们没有。
这花了几个小时,我想我已经记下来了。我将把所有的选项存储在一个结构中,然后调用函数,如果传递了标志,这些函数将从头文件中执行所有的LEADTOOLS。
我将继续编写一个makefile,它链接了这个程序中需要的所有库,这样我就不必再摆弄编译,只需要输入“make”。
现在我要写一个函数来进行文件转换。这需要一个
char *对于源目录和目标目录,指定格式,然后使用结构体与LEADTOOLS通信类型。这只花了45分钟!我在打开目录时遇到了一些问题,但它只花了大约35行代码。这包括转换源目录中每个文件所需的所有代码,这对于C语言来说是非常惊人的。
现在我有了工作,我将编写一个用于条形码识别的函数。
这花了大约一个半小时。条形码识别有点棘手,因为我需要从内部调用两个辅助函数。尽管如此,这还不算太糟,现在我的程序可以处理任何条形码,它会把数据写入一个文本文件。我现在可以从所有文件中进行文件转换和条形码识别,只需将两个标志作为命令行参数传递,这非常棒。
现在最后但并非最不重要的,我需要做OCR,这是一件非常复杂的事情!
这花了我3个小时,因为我不是最懂c语言的人。现在我可以从目录中对任何图像进行OCR,并将文本输出到.txt文件。
我需要做一些代码清理和注释,但这应该只需要大约20分钟。
这样我就能在8小时内完成任务。在一个工作日里,我写了一个批处理应用程序,它可以做OCR、条形码识别和文件转换,所有这些都是一体式的。这对Linux用户非常有用!编写一个脚本来运行这个应用程序,您可以自动完成许多工作。
在未来的版本中,我可能会将我的一些代码分离为函数,执行一些多线程以提高性能,并允许使用格式常量的int版本或通用术语(tif、jpg、png等)。
