Tesseract OCR无法识别简单数学符号且无法输出运算结果如何解决?
修复方案
- 核心错误1:
pytesseract.pytesseract.tesseract_cmd配置错误,该参数需要指向Tesseract程序本身的可执行文件(tesseract.exe)路径,你错误填入了待识别图片路径,导致OCR无法正常启动。 - 核心错误2:
eval("content.strip()")写法错误,你把变量调用逻辑写在了引号内,eval只会执行字面字符串,不会读取识别得到的content内容,这也是你只能输出识别到的表达式、无法得到计算结果的直接原因。
修正后代码
import pytesseract # 替换为你本地tesseract.exe的实际安装路径,默认安装路径通常为C:\Program Files\Tesseract-OCR\tesseract.exe pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' content = pytesseract.image_to_string(r'C:\Users\alloa026\Downloads\project\photo.png') # 清理识别结果的多余空白后再执行计算 calc_content = content.strip() print(eval(calc_content))
补充注意事项
- 如果识别结果包含乱码、非数学字符,需要先过滤无关内容再执行计算,避免eval运行报错
- eval存在执行任意代码的安全风险,仅适合处理本地可信输入,不要用于处理外部不可信的识别内容
内容的提问来源于stack exchange,提问作者v84
相关产品推荐
相关产品推荐

