python - pytesseract 无法识别图像中的数字,
问题描述
我要分析的图像如下:
我正在运行这段代码:
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract'
my_image = 'C:\\autobot_wwe_supercard\\imagenes\\codigo_arriba.png'
text = pytesseract.image_to_string(Image.open(my_image))
print(text)
给我的结果是:
我已经通过控制台使用 pip install pytesseract 安装了 pytesseract。
解决方案
>>> img = cv2.imread("1299.png")
>>> gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
>>> thresh = cv2.threshold(gray,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)[1]
>>> thresh = 255 - thresh
>>> data = pytesseract.image_to_string(thresh, config='--psm 11 digits')
>>> data
'1299'
>>>
尝试将配置中的数字列入白名单。 pytesseract 有时也能够提取黑色背景上的白色文本。
推荐阅读
- java - 并排显示星号正方形,实心和空心
- python - 如何绘制导出的概率密度函数?
- python - 找到一个确切的字符串并将其保存在python中
- android - grantUriPermissions() 上的 SecurityException
- javascript - HTML5 音频 - 获取充满零的频率数组
- c - 如何将gets() 用于以下代码?
- angular - 角度 - 在组件中使用有条件不同布局的最佳实践
- c - 宏在 C 语言中给出了错误的值
- python - 错误:文件不以 RIFF id 开头
- r - combine_vars(vars, ind_list) 中的错误:R 中的位置必须介于 0 和 n 之间