Windows系统下如何用Tesseract命令精准识别截图OCR内容?
问题描述
我尝试对一张截图进行OCR识别,截图中黄色箭头标注的是需要识别的区域。预期识别结果为:IFTY [N59901]19189.05 HI 18326.7 LO 18211.9
在Windows系统中已尝试以下Tesseract命令:
tesseract --psm 11 screengrab.png outfile.txt -l engtesseract --psm 6 screengrab.png outfile.txt -l engtesseract --psm 6 --oem 3 screengrab.png outfile.txt -l engtesseract -c tessedit_char_whitelist=0123456789.FTYHILO screengrab.png outfile.txt -l eng
但得到的outfile.txt输出内容如下:
IFTY [N59901]19189.
Price Avg(E,200)
14%
Hi 18326.
#9000 Lo 18211.
Hegog Cl 18315.1]
识别结果丢失了小数点后的部分,比如19189.05仅识别为19189.,请问如何实现更精准的OCR识别?
解决方法
- 裁剪目标区域:先把截图裁剪到黄色箭头标注的区域,排除其他无关文字的干扰,让Tesseract只聚焦需要识别的内容。
- 优化图片预处理:将图片转为灰度图,或调整对比度、阈值,强化小数点后数字的清晰度,降低背景干扰。
- 调整Tesseract参数:
- 修正字符白名单,补充遗漏的
N、[]和空格,命令改为:tesseract -c tessedit_char_whitelist=0123456789.FTYHILON[] screengrab.png outfile.txt -l eng - 结合更适配的PSM模式,比如PSM 7(适配单行文本识别),搭配LSTM引擎(OEM 1),命令示例:
tesseract --psm 7 --oem 1 -c tessedit_char_whitelist=0123456789.FTYHILON[] screengrab.png outfile.txt -l eng
- 修正字符白名单,补充遗漏的
- 自定义字库训练:如果通用参数优化后效果仍不理想,可以针对截图中的字体,采集少量样本训练自定义Tesseract字库,进一步提升特定字符的识别精度。
内容的提问来源于stack exchange,提问作者ashbash
相关产品推荐
相关产品推荐

