python 如何从easyocr获得干净的输出

omqzjyyz  于 2023-04-04  发布在  Python
关注(0)|答案(2)|浏览(147)

这是从一个opencv+easyocr车牌识别脚本opencv作物的形象,以车牌和gives,清洁伟大的输出到easyocr。但这是什么一堆的数字,它的阅读
result = reader.readtext(opencv(mypath))

  • 结果:[([[0,0],[163,0],[163,31],[0,31]],'SPHJ〉3764',0.5565279612963627)]*

我知道我可以通过这个得到一个干净的输出,但问题是它从一张图片到另一张图片是不同的。有没有办法只得到车牌
result = result[0][-2]

  • 结果:SPHJ〉3764*
ohtdti5x

ohtdti5x1#

作为stated in the docs
输出将采用列表格式,每个项目分别代表一个边界框、检测到的文本和置信水平。
它是文本所在框的坐标。最后一项是置信度。

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

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

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

ct2axkht2#

我认为问题是得到没有立场和自信的“纯”文本,然后简单地向readtext()添加'detail='

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

相关问题