我可以在 Windows 命令行中测试 tesseract ocr 吗?

Posted

技术标签:

【中文标题】我可以在 Windows 命令行中测试 tesseract ocr 吗?【英文标题】:Can I test tesseract ocr in windows command line? 【发布时间】:2014-12-02 19:12:43 【问题描述】:

我是 tesseract OCR 的新手。我试图将图像转换为 tif 并运行它以查看 tesseract 在 windows 中使用 cmd 的输出,但我做不到。你能帮助我吗?将使用什么命令?

这是我的示例图片:

【问题讨论】:

请详细说明您尝试过的内容。 @Vish 我从其站点安装了 tesseract 库。并从 cmd 我尝试转换文本图像。 tesseract imagename.tif 输出。但无法获得任何输出。 对于您键入的语法,输出存储在文件 output.txt 中。您是否检查过是否创建了这样的文件?另外,您可以在某处上传您的 TIF 文件吗?如果我有时间,我可以检查我的 tesseract 安装。 @Vish 现在我已经添加了 tif 图片 @Vish 非常感谢我找到了解决方案。你能评论你的电子邮件吗?我需要你的顾问 【参考方案1】:

最简单的 tesseract.exe 语法是 tesseract.exe inputimage output-text-file。 这里的假设是将 tesseract.exe 添加到 PATH 环境变量中。 如果您的文本参数特别难以识别,您可以添加 -psm N 参数。

我发现常规语法(没有任何 -psm 开关)与您附加的图像配合得很好,除非准确度不够好。

请注意,非英文字符(例如处方旁边的符号)无法识别;我的默认安装只包含英文训练数据。

这里是 tesseract 语法说明:

C:\Users\vish\Desktop>tesseract.exe
Usage:tesseract.exe imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]

pagesegmode values are:
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
-l lang and/or -psm pagesegmode must occur before anyconfigfile.

Single options:
  -v --version: version info
  --list-langs: list available languages for tesseract engine

这是您的图像的输出(注意:当我下载它时,它已转换为 PNG 图像):

C:\Users\vish\Desktop>tesseract.exe ECL8R.png out.txt
Tesseract Open Source OCR Engine v3.02 with Leptonica

C:\Users\vish\Desktop>type out.txt.txt
1 Project Background

A prescription (R) is a written order by a physician or medical doctor to a pharmacist in the form of
medication instructions for an individual patient. You can't get prescription medicines unless someone
with authority prescribes them. Usually, this means a written prescription from your doctor. Dentists,

optometrists, midwives and nurse practitioners may also be authorized to prescribe medicines for you.

It can also be defined as an order to take certain medications.

A prescription has legal implications; this means the prescriber must assume his responsibility for the
clinical care ofthe patient.

Recently, the term "prescriptionΓÇ¥ has known a wider usage being used for clinical assessments,

【讨论】:

你能给我举例说明如何使用配置文件吗?

以上是关于我可以在 Windows 命令行中测试 tesseract ocr 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在命令行中运行 ZAP 扫描?

如何在windows的命令行中找到mysql数据目录

如何在 Windows 命令行中以不同的颜色回显 [关闭]

java 怎么调用tess4j

在 Windows 命令行中更改文件夹权限? [复制]

在 Windows 命令行中使用管道