You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python自动识别并裁剪含数字的浅色矩形区域?

图像预处理需求与现有实现情况

需求说明

我有一批相似图片,需要完成两项处理:

  • 识别并裁剪出内部包含数字的浅色背景矩形区域
  • 去除干扰线(该需求优先级较低)
    最终要得到仅包含数字的浅色矩形图片,作为OCR的输入源。

现有代码与效果

线条检测代码(已实现)

目前已写出能识别图像线条并以绿色线条勾勒的代码:

import numpy as np
import matplotlib.pyplot as plt
import cv2
import sys

# 读取输入图像
image = cv2.imread('OCRimgs/test2.jpg')

# 转换为灰度图
grayscale = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 边缘检测
edges = cv2.Canny(grayscale, 30, 100)

# 霍夫直线检测
lines = cv2.HoughLinesP(edges, 1, np.pi/180, 60, np.array([]), 50, 5)
# 绘制检测到的直线
for line in lines:
    for x1, y1, x2, y2 in line:
        cv2.line(image, (x1, y1), (x2, y2), color=(20, 220, 20), thickness=3)

# 显示图像
plt.imshow(image)
plt.show()

这段代码会用绿色线条标记出图像中的所有检测到的线条。

OCR代码(已验证可用)

我正在开发OCR程序,处理后的图片需要输入到以下经过验证的OCR代码中:

import cv2
import pytesseract
# from PIL import Image

img = cv2.imread('small.png')

try:
    t = pytesseract.image_to_string(img, lang='lets', config='--psm 6 tessedit_char_whitelist=0123456789')
    text = int(t.replace('\n', '').replace('\f', ''))
    print(text)
except:
    print('Error processing image')

输入该OCR代码的图片必须是仅包含数字的浅色矩形样式。

待明确的实现思路

我考虑过利用矩形的浅色特征来识别目标区域,但不确定在固定相机固定拍摄位置的实际场景中是否可行,目前还没有明确完整的实现方案。

内容的提问来源于stack exchange,提问作者Anthony Kercher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 08:44:58