- 1 -
图片内容提取方法及问题
前面的文章《》里,讲了使用Power Automate Destkop直接提取PDF文件内容的操作方式,但有朋友问,是否可以提取图片转成的PDF内容:
如上面回复,这里的核心其实并不是PDF内容的提取,而是图片识别的问题——就是我们经常说的OCR问题,当然,Power Automate里也是支持OCR识别的,而且提供了至少3种方式:
对于第2/3种方式,涉及到在线调用Google或微软云端认知(AI)接口的问题,在此暂不讨论。
而第1种是调用本机OCR引擎进行文字识别的,一般情况下我们可以直接使用,其中使用了开源的Tesseract开源OCR引擎,但是,默认情况下仅支持英语、德语、西班牙语、法语和意大利语等5种语言:
那中文怎么办?
- 2 -
OCR引擎安装及使用
实际上,对于不同语言的识别,关键是能获取到Tesseract引擎的数据包,而这可以通过下载、安装Tesseract软件获得(软件下载链接见文末)。
Tesseract软件下载后,安装非常简单,几乎所有步骤都是按提示操作即可,但是,下面这个步骤注意勾选“Additiona language data(download)”选项:
安装好后,我们即可以在Tesseract的安装目录下,找到tessdata文件夹,其中就有中文的数据包——chi_sim.traineddata:
有了这个数据包,接下来在Power Automate Desktop里的操作就简单了。
选择引擎、要识别的图片路径后,OCR引擎设置里,打开“使用其他语言”开关,语言缩写里填上“chi_sim”,选择语言数据包的路径即可,如下图所示:
经过上面的步骤,即可以提取到图片里的文字信息,然后我们可以添加“将文本写入文件”的步骤,将识别的图片文字信息输出到一个文件里:
- 3 -
效果
对于图片文字提取,大家最关心的一个问题是,提取的效果如何?即识别正确率是不是足够高?为此,我对多张图片进行了测试。
总的来说,读取格式清洁、规范打印的图片文字,效果还不错,如下图片:
除一些带下划线、特殊符号标记等造成的干扰外,绝大部分的内容均被正确识别:
而对于本身存在一些深色背景、格式比较混杂的图片,识别效果则很差!如下图,识别出来的内容基本不可用:
对于自己实际工作中的图片内容识别,建议在使用Power Automate构造自动化处理过程时,先进行测试,在识别率满足实际工作需要情况下投入使用。