如何从easyocr获得干净的输出



这是一个opencv+easyocr车牌识别脚本,opencv将图像裁剪为车牌,并为easyocr提供干净的输出。但是这一堆数字是什么呢它读的是

result = reader.readtext(opencv(mypath))

结果:((((0,0),[163,0],[163,31],[0,31]],"SPHJ祝辞3764年,0.5565279612963627)]

我知道我可以得到一个干净的输出,但问题是它是不同的图片。有没有办法只拿到车牌号

result = result[0][-2]

结果:SPHJ>3764

如文档中所述:

输出将是一个列表格式,每个项代表一个边界框、文本检测值和置信水平。

是文本所在框的坐标。最后一项是置信水平。

  • [[0, 0], [163, 0], [163, 31], [0, 31]]->4的坐标
  • 'SPHJ > 3764'->
  • 0.5565279612963627->置信水平

使用result[0][1]获取文本。注意,result可能检测到多个文本框,因此您需要通过索引访问或遍历它。

for item in result:
print(item[1])

我认为问题是获得"纯净";文本没有位置和置信度,然后只需添加'detail=0'到readtext()

result = reader.readtext(opencv(mypath), detail=0)
# output: result = ['SPHJ > 3764'] or multiple items if the image contains more texts

相关内容

  • 没有找到相关文章

最新更新