获得更好的OCR结果

2024-03-29 10:59:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从ICU呼吸机的屏幕截图中获取数据,我已经写了一个功能性笔记本,将图像中的方框分开并清理干净。下面是由tesseract创建的预处理和输出后图像外观的示例

Output: {'date': '2020-08-11\n\x0c', 'time': '09:23:06\n\x0c', 'Ppeak': '\x0c', 'Pmittel': '77\n\x0c', 'PEEP': '5.0\n\x0c', 'VTi': '430\n\x0c', 'VTe': '434\n\x0c', 'fTotal': '\x0c', 'Rinsp': '\x0c', 'Rexsp': '\x0c', 'Cstat': '47.2\n\x0c', 'RCinsp': '\x0c', 'RCexsp': '\x0c', 'O2%': '\x0c'}

由此生成:

for entry in data_map1:
        # seperate the matching part of the image
        rec = _improveImage(img[data_map1[entry][2] : data_map1[entry][3], data_map1[entry][0] : data_map1[entry][1]])
        # Recognise the image
        data[entry] = pytesseract.image_to_string(rec, lang='eng')

删除“\x0c”和“\n”不是问题所在,但我真的很想知道为什么有些值根本无法识别,而另一些值是完美的。我需要改进预处理吗?或者tesseract中的某些设置

提前谢谢

Processed Images