对于某些图像,我正在尝试从上传的图像中识别文本;我的 GUI 返回积极响应,但对于其他一些图像:它给出 IndexError:列表索引超出范围。我正在使用 easyocr 进行图像识别。我附上我的代码。
排队时出错
print("Number Plate:", results[0][1])
import easyocr
def OCR(path, filename):
img = np.array(load_img(path))
coords = object_detection(path, filename)
xmin, xmax, ymin, ymax = coords[0]
roi = img[ymin:ymax, xmin:xmax]
roi_bgr = cv2.cvtColor(roi, cv2.COLOR_RGB2BGR)
cv2.imwrite("./static/roi/{}".format(filename), roi_bgr)
reader = easyocr.Reader(["en"])
results = reader.readertext(roi)
print("Number Plate:", results[0][1])
return results[0][1]
如果您收到
results
的 IndexError,我想 OCR 过程没有找到任何东西。
您可能想使用
print(results)
进行调试,然后添加一个防护:
if results:
return results[0][1]
return None
因此,如果没有结果,该函数将返回
None
。