python - Pytesseract 无法读取简单数字
问题描述
我正在尝试使用 pytesseract 从图像中识别两个数字。从这个 1
我将图像处理为看起来像这样 2 并将其提供给 pytesseract 并且很容易工作。
但是当我想通过 tesseract 从这个 3 到这个 4读取 它不起作用并返回空字符串
代码:
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
img = cv2.imread('grabbed.png')
rows, cols, channels = img.shape
imggray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, img = cv2.threshold(imggray, 220, 255, cv2.THRESH_BINARY_INV)
img = cv2.resize(img,(0,0),fx=3,fy=3)
img = cv2.GaussianBlur(img,(11,11),0)
img = cv2.medianBlur(img,9)
k = pytesseract.image_to_string(img, lang='eng', config='outputbase digits --dpi 300 --psm 13')
print(k)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
解决方案
1 - 检查方向。pytessaract 需要完美的肖像图像。2 - 使用拨号和errosion 3 https://nanonets.com/blog/ocr-with-tesseract/ [看这个例子][1]
推荐阅读
- python - 我是 Python 的新手,并试图在尽可能少的帮助下创建二十一点,但我该如何浓缩呢?
- socket.io - Socket.io 不会连接 next.js 环境变量
- python - 在python中同时运行多个协程[Discord.py]
- kotlin - 如何将适配器附加到我的片段?
- discord.js - 命令未运行且没有错误消息
- kubernetes - Kubernetes 删除的 pod IP 地址由 rabbitmq 引用,它仍在接受消息
- hadoop - 跨多个 aws 区域部署 hadoop 集群
- html - 在 vue 中获取引导崩溃的当前状态
- ide - 如何在 Geany 中缩进换行?
- python - 如何逐步消除python列表中的项目?