如何从 .png 文件中提取 Unicode 字符?

Mad*_*kam 3 ocr tesseract-ocr

我想从 .jpg 和 .png 文件中提取 Unicode 字符。

我尝试使用以下命令来做到这一点:

tesseract 1.png output.txt
Run Code Online (Sandbox Code Playgroud)

该命令适用于英文字符,但是当我尝试将它用于 Unicode(如印地语、马拉地语或梵文脚本)时,它会产生错误的输出。

是否有任何选项可以使用 OCR 将 Unicode(梵文)脚本提取到文本文件中?

Dav*_*ill 5

是否有任何选项可以提取 Unicode 脚本?

当我尝试使用 Unicode(如印地语、马拉地语或梵文脚本)时,它会产生错误的输出。

似乎仅Hindi支持开箱即用。

您需要使用来使用该-l lang选项:

tesseract 1.png output.txt -l hin
Run Code Online (Sandbox Code Playgroud)

您可以训练 tesseract 来识别其他语言,例如Marathi, 或Devanagari

请参阅如何使用提供的工具为新语言训练 Tesseract 3.0x


TESERACT(1) 手册页

选项

...

-l lang

要使用的语言。如果没有指定,则假定为英语。可以指定多种语言,用加号分隔。Tesseract 使用 3 个字符的 ISO 639-2 语言代码。(见语言)

...

语言

目前有适用于以下语言的语言包:

ara(阿拉伯语)、aze(阿塞拜疆语)、bul(保加利亚语)、cat(加泰罗尼亚语)、ces(捷克语)、chi_sim(简体中文)、chi_tra(繁体中文)、chr(切诺基语)、dan(丹麦语)、dan-frak (丹麦语(Fraktur))、deu(德语)、ell(希腊语)、eng(英语)、enm(古英语)、epo(世界语)、est(爱沙尼亚语)、fin(芬兰语)、fra(法语)、frm(古法语)、glg(加利西亚语)、heb(希伯来语)、hin(印地语)、hrv(克罗地亚语)、hun(匈牙利语)、ind(印度尼西亚语)、ita(意大利语)、jpn(日语)、kor(韩语)、lav (拉脱维亚语)、lit(立陶宛语)、nld(荷兰语)、nor(挪威语)、pol(波兰语)、por(葡萄牙语)、ron(罗马尼亚语)、rus(俄语)、slk(斯洛伐克语)、slv(斯洛文尼亚语)、sqi (阿尔巴尼亚语)、spa(西班牙语)、srp(塞尔维亚语)、swe(瑞典语)、tam(泰米尔语)、tel(泰卢固语)、tgl(他加禄语)、tha(泰语)、tur(土耳其语)、ukr(乌克兰语)、vie (越南语)

要使用名为 foo.traineddata 的非标准语言包,请设置 TESSDATA_PREFIX 环境变量,以便可以在 TESSDATA_PREFIX/tessdata/foo.traineddata 中找到该文件,并为 Tesseract 提供参数 -l foo。

TESERACT(1) 手册页