这是一个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