如何提高 EasyOCR 的准确性/预测?
Posted
技术标签:
【中文标题】如何提高 EasyOCR 的准确性/预测?【英文标题】:how to improve accuracy/prediction for EasyOCR? 【发布时间】:2021-09-16 13:31:33 【问题描述】:我正在尝试从车牌中获取字符。 但是很少得到像
这样的错误预测我得到的输出是UP74 BD 3465
,这是错误的。有很多示例将B
预测为8
等等。
import matplotlib.pyplot as plt
import cv2
import easyocr
from pylab import rcParams
from IPython.display import Image
rcParams['figure.figsize'] = 8, 16
reader = easyocr.Reader(['en'])
output = reader.readtext(path)
for i in range(len(output)):
print(output[i][-2])
【问题讨论】:
查看有关为该字体训练 OCR 的信息。即使图片的对比度很差,它似乎也能很好地“看到”字形。 @ChristophRackwitz 嗨,我已经经历了一年的过程,但仍然没有得到正确的结果..我的车牌数据为 drive.google.com/drive/folders/… 你能建议一些方法,以便它在任何情况下都能提供高精度提供的链接中的此类图片 【参考方案1】:首先,我建议您阅读有关 OCR 图像增强的主题:LINK。
其次,在与上述主题相同的意义上,您可以在裁剪感兴趣区域(ROI),因此输出图像将如下所示:
输出将是:
UP14 BD 3465
import cv2
import easyocr
from pylab import rcParams
# import numpy library
import numpy as np
# define the path
path = 'input.png'
# read the image
img = cv2.imread(path, 0)
# find the white rectangle
th = img.copy()
th[th<200] = 0
bbox = np.where(th>0)
y0 = bbox[0].min()
y1 = bbox[0].max()
x0 = bbox[1].min()
x1 = bbox[1].max()
# crop the region of interest (ROI)
img = img[y0:y1, x0:x1]
# histogram equalization
equ = cv2.equalizeHist(img)
# Gaussian blur
blur = cv2.GaussianBlur(equ, (5, 5), 1)
# manual thresholding
th2 = 60 # this threshold might vary!
equ[equ>=th2] = 255
equ[equ<th2] = 0
# Now apply the OCR on the processed image
rcParams['figure.figsize'] = 8, 16
reader = easyocr.Reader(['en'])
output = reader.readtext(equ)
for i in range(len(output)):
print(output[i][-2])
【讨论】:
嗨,我已经完成了一年的过程,但仍然没有得到正确的结果..我的车牌数据为 drive.google.com/drive/folders/… 你能建议一些方法,以便它在任何此类图像上提供高精度在提供的链接中。我被困在这一点上谢谢 @k_p "仍然没有得到正确的结果" 对于这张图片或你的意思是其余的数据集?因为我只用给定的图像测试了这段代码! 嗨,我想要任何通用代码,以便它可以在任何车牌(链接中提供)上工作,这应该在我们的自动车牌识别用例中工作,对每个图像进行图像处理将是困难......你能帮我写一个通用代码,它应该在链接中的最大图像上工作,我已经尝试了很多,但没有得到正确的代码提前谢谢 @k_p 我不确定是否有不使用深度学习的通用解决方案。 我已经尝试过深度学习..建立一个用于识别字符的 CNN 模型......但没有得到一个强大的方法来分离每个字符,因此我应用了字符识别方法。有什么想法吗?【参考方案2】:您提供的图像太暗,所以如果您愿意,可以点击此链接https://***.com/a/50053219/17233488。同样在增加亮度后,您可能会在图像上看到一些阴影,因此,您可以通过此链接,https://***.com/a/44752405/17233488。此外,对于其他任务,请尝试使用上述建议的纠偏和其他形态处理。
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review以上是关于如何提高 EasyOCR 的准确性/预测?的主要内容,如果未能解决你的问题,请参考以下文章