我正在尝试从命令行使用tesseract在打开的窗口内容上运行OCR。特别是,我愿意阅读输入到当前打开的记事本窗口中的文本。
我已经阅读了这里的文档和维基:http://code.google.com/p/tesseract-ocr/w/list
但我在这个项目中没有找到任何对我有帮助的东西,而且我也在这里搜索过类似的问题(有很多关于OCR的问题),但似乎没有什么对我有用/适用于我的情况。
这可行吗?
我主要是一个PHP程序员(编码只是为了好玩),没有非web语言的经验。
提前谢谢。
发布于 2012-04-18 10:51:48
Tesseract被设计为接受TIFF图像作为输入,并且对Windows或屏幕设备上下文一无所知。因此,您需要添加代码来定位记事本窗口的窗口句柄,执行屏幕截图,根据windows报告的当前窗口大小裁剪窗口,并将生成的图像保存到文件中。这个图像很可能是黑白的,这将使OCR变得更容易,因为我怀疑Tesseract 2.0只适用于黑白图像。下一个问题将是Tesseract由于源图像的DPI (分辨率)较低而产生较差的结果。
为了评估你的方法的适用性,我会执行一些手动测试,打开记事本,截图,在MSPaint中打开屏幕截图,裁剪你想要光学字符识别的文本,将裁剪的图像保存为TIFF或BMP,然后将此文件发送到Tesseract。如果结果不像您需要或期望的那样好,这可以为您节省大量的时间和精力。
https://stackoverflow.com/questions/9128484
复制相似问题