基于Python图像处理的卷材半圆形印刷ID识别问题咨询
半圆形卷材ID识别调整方案
核心问题为ID沿半圆形印刷,字符存在多角度偏转,Tesseract默认仅支持水平/接近水平的文本识别,因此只能识别局部直线段的数字。可按以下方案调整:
- 新增弧形区域极坐标展开逻辑:这是最核心的优化点,先定位ID所在圆弧的圆心、内外半径,将环形分布的ID通过极坐标逆变换拉伸为水平排列的矩形文本,符合Tesseract的识别输入要求。
- 优化图像预处理逻辑:展开后再做灰度化、高斯去噪、二值化处理,可增加形态学闭运算修复字符断裂,过滤背景噪点。
- 适配Tesseract识别参数:将PSM模式调整为7(假设输入为单行文本),比默认的3(自动分页)更适合单行数字的识别场景,降低误判概率。
修改后的完整代码如下:
import numpy as np import pytesseract import cv2 pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe' image = cv2.imread('1.jpg') # 裁剪ROI区域,可根据实际采集场景调整坐标 (h, w) = image.shape[:2] ROI = image[200:450, 1100:1550] roi_h, roi_w = ROI.shape[:2] # ------------------- 核心:弧形文本极坐标展开 ------------------- # 圆心坐标、内外半径可根据实际ID印刷位置微调 center = (roi_w // 2, roi_h // 2 + 50) max_radius = roi_h // 2 + 30 min_radius = roi_h // 2 - 30 # 计算展开后矩形尺寸 unwarp_w = int(2 * np.pi * max_radius) unwarp_h = max_radius - min_radius # 生成坐标映射表 map_x = np.zeros((unwarp_h, unwarp_w), dtype=np.float32) map_y = np.zeros((unwarp_h, unwarp_w), dtype=np.float32) for y in range(unwarp_h): for x in range(unwarp_w): theta = 2 * np.pi * x / unwarp_w r = max_radius - y map_x[y, x] = center[0] + r * np.cos(theta) map_y[y, x] = center[1] + r * np.sin(theta) # 执行变换得到水平文本 unwarped = cv2.remap(ROI, map_x, map_y, interpolation=cv2.INTER_CUBIC) unwarped = cv2.rotate(unwarped, cv2.ROTATE_90_COUNTERCLOCKWISE) # ---------------------------------------------------------------- # 预处理优化 gray = cv2.cvtColor(unwarped, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (3, 3), 0) thresh = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1] # 修复字符断裂 kernel = np.ones((2, 2), np.uint8) thresh = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel) # 适配单行数字识别参数 options = "--psm 7 -c tessedit_char_whitelist=0123456789" text = pytesseract.image_to_string(thresh, config=options) print("识别结果:", text.strip()) cv2.imshow("展开后文本", unwarped) cv2.imshow("预处理结果", thresh) cv2.waitKey(0) cv2.destroyAllWindows()
提示:若需要适配不同尺寸、位置的卷材ID,可新增霍夫圆检测逻辑自动定位圆弧圆心、半径参数,无需手动调整固定值。
内容的提问来源于stack exchange,提问作者nihal akcay
相关产品推荐
相关产品推荐

