python - Pytesseract 无法识别二进制图像中的字符
问题描述
使用各种方法,我将图像验证码更改为看起来像这样
然而,在使用 Pytesseract OCR 时,包无法识别任何字符,我认为这是由于字母上方的行。
脚本.py
cv2.imwrite(filename, imgOP)
text = pytesseract.image_to_string(Image.open(filename))
图像的控制台输出为无
但是,当尝试使用另一张图片(如下所示)时,我得到的输出为
PGKQKf
由于字母 T 上方的行,这又是错误的
我使用了各种技术来清理图像,例如腐蚀、膨胀和概率霍夫变换(结果如下)
#Hough Line Transform
img = cv2.imread('Output1.png')
edges = cv2.Canny(img, 1000, 1500)
minLineLength = 0
maxLineGap = 10000000000
lines = cv2.HoughLinesP(edges, 1, np.pi / 180, 15, minLineLength, maxLineGap)
for x in range(0, len(lines)):
for x1, y1, x2, y2 in lines[x]:
cv2.line(img, (x1, y1), (x2, y2), (255, 255, 255), 2)
cv2.imwrite('houghlines3.jpg', img)
转换后的图像看起来有点像这样
minLineLength 和 maxLineGap 的任何其他值组合都不起作用。
一个人应该如何前进?我检查了各种技术以使 Tesseract 更准确,但是我对应该使用哪一种感到困惑。
除了 Tesseract 之外,还有任何其他技术可以应用来获得所需的结果。
我曾想过创建一个蒙版,使用在线工具将图像转换为下面给出的 0 和 1。但是如何去做并使用它来识别字符呢?
解决方案
推荐阅读
- .net - 反序列化时如何配置 ServiceStack.Text 以使用 EnumMember?
- javascript - 未定义包含功能的 React 道具
- bigbluebutton - BigBlueButton : 推荐的系统要求
- windows - Internet Explorer 11 的自动完成表单,从一台计算机复制到另一台计算机
- ios - 我的 .txt 文件在加载文本时会滞后 - 保存到 Firebase 并从那里加载可以加快速度吗?
- mongodb - MongoDb 分片和唯一约束
- powerbi - PowerBI 门户中 Cosmos DB 的数据刷新
- json - jq:从多个对象中查找唯一键
- php - 上个月,下个月和月份,年份在日历 PHP 中不起作用
- javascript - 获取奇怪的未捕获类型错误:this._saveFile 不是 es6 的函数