首页 > 解决方案 > 使用opencv python从机器部分识别字符

问题描述

我正在做一个关于使用opencv python识别机器部件中的字符的项目:

在此处输入图像描述

此图像由罗技 c615 相机捕获。我想检测该机器部件上的完美文本。

我尝试了easyocr,结果是:

final ['(ER--', '827818,303"', '821698,', 'I(dia'] 

而现在我真的不知道该怎么办。这是我的代码:

import numpy as np
import cv2
import easyocr

IMAGE_FILE_LOCATION = r'D:\camera_mv_image\IMAGES\date (1).jpeg'
input_img = cv2.imread(IMAGE_FILE_LOCATION)

bfilter = cv2.bilateralFilter(input_img, 15, 30, 30)
bfilter = cv2.cvtColor(bfilter, cv2.COLOR_BGR2GRAY)

sharpen_kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
sharpen = cv2.filter2D(bfilter, -1, sharpen_kernel)

cv2.imshow('sharpen', sharpen)

reader = easyocr.Reader(['en'])
result = reader.readtext(sharpen,detail=0)
print("final",result)

cv2.waitKey(0)

标签: pythonopencv

解决方案


尝试首先定位感兴趣的区域(文本)并调用readtext()每一行。如果这还不够,请在每行中找到每个单独的字符并调用readtext()每个单独的字符,就像我在这里演示的那样:https ://stackoverflow.com/a/68521734/14432704


推荐阅读