【问题标题】:programmatically take screenshot, crop section, and run OCR tools. quick solutions?以编程方式截取屏幕截图、裁剪部分并运行 OCR 工具。快速解决方案?
【发布时间】:2012-01-29 23:38:26
【问题描述】:
我将编写截取屏幕截图的代码,裁剪到屏幕的一小部分(屏幕的预定义区域),然后从裁剪后的图像中提取文本(通过 OCR 工具),然后将生成的文本保存到一份文件。我想知道是否有软件(最好是用于 Windows)可以做到这一点,或者至少是其中的一部分。我已经在研究 tesseract 作为 OCR 工具。任何人都知道可以截取屏幕截图并可能裁剪图像的预定义区域的软件。
谢谢,
-杰森
【问题讨论】:
标签:
windows
screenshot
ocr
crop
【解决方案1】:
我使用Greenshot,这是一个非常棒的截屏工具,根据常见问题解答,它也支持OCR(使用 MODI = Microsoft Office Document Imaging)。但是,我从来没有让它在我的 Windows 机器上运行,而是使用了 Tesseract(对于 Linux,有一些脚本编写经验,这种方法应该也是可行的):
- 为 Ubuntu/Debian/Windows 下载 Tesseract here 并安装它。
- 下载安装Greenshot
- 使用记事本或 Notepad++ 等文本编辑器创建一个名为“Greenshot_Tesseract_OCR.bat”的新 Windows 批处理脚本 - 并将其保存在您选择的位置,例如"C:\Users\MyUser\Scripts\Greenshot_Tesseract_OCR.bat" - 内容如下(取决于tesseract的安装位置):
ECHO OFF
set arg1=%1
"C:\Program Files\Tesseract-OCR\tesseract.exe" "%arg1%" "%arg1%"
type "%arg1%.txt" | clip
- 右键单击工具栏中的 Greenshot 图标,然后单击“配置外部命令”
- 添加一个名为“Tesseract OCR to Clipboard”的新命令,选择您刚刚创建的批处理脚本作为命令和参数,使用默认的
"{0}"。然后点击确定两次。
- 您现在应该可以使用快捷键(在我的例子中为“打印”键)和 1-2 次鼠标点击(取决于您的 Greenshot 设置)将屏幕截图的文本复制到剪贴板!