【问题标题】:How can extract text from video stream?如何从视频流中提取文本?
【发布时间】:2017-04-15 20:59:15
【问题描述】:

我正在使用 opencv2 和 pytesseract 从来自我的相机的视频流中提取一些文本。我裁剪图像以获得另一个小图像。我进行了不同的图像处理以使其正常工作。我反转了图像值,模糊了它,二值化了它,但是这些都没有与 tesseract 一起使用。我要提取的数据有这些形式'float/float'这里是小图像的例子:

似乎字符没有分开,这是我可以从我的相机获得的最大分辨率。然后我尝试按颜色过滤,但没有结果,因为它是视频并且背景总是在移动。 我将使用任何建议的 Python 模块。

【问题讨论】:

  • 你尝试过每个字符的模板匹配吗?
  • 感谢 Miki 的回复,我的速度是 25 帧/秒,是否可以为每个字符一个一个地进行模板匹配?我必须将这个小图像分成比比较小的图像吗?
  • 我不能保证帧率,但应该比任何其他 OCR 方法都快。您有 10 个用于 10 位数字的模板,可能有 1 个用于斜线(而 1 个用于点?)。然后在整个图像上应用模板匹配 11 (12) 次(每个模板)。查看匹配结果中的最大值,您应该能够找到正确的数字...
  • 嗨 mikki,这种情况下的模板匹配不起作用。

标签: python opencv tesseract orc


【解决方案1】:

看起来并不简单。我为每个角色生成了 32x32 png 图像,并为其添加了白噪声。视频的背景在移动。和像 8 和 6 这样的字符差别不大。 这是我目前的代码:

cap = cv2.VideoCapture("rtsp:...")
time.sleep(2)
templates = {}
w=[]
h=[]
for i in range(0,11):
    templates["template_"+str(i)]=cv2.imread(str(i)+'.bmp',0)
    tmp_w,tmp_h=templates["template_"+str(i)].shape[::-1]
    w.append(tmp_w)
    h.append(tmp_h)



threshold = 0.70



while(True):
    les_points=[[],[],[],[],[],[],[],[],[],[],[]]
    ret, frame = cap.read()
    if frame==None:
      break
    crop_image=frame[38:70,11:364]
    gray=cv2.cvtColor(crop_image,cv2.COLOR_BGR2GRAY)
    for i in range(0,11):
        res= cv2.matchTemplate(gray,templates["template_"+str(i)],cv2.TM_CCOEFF_NORMED)
        loc = np.where( res >= threshold)
        for pt in zip(*loc[::-1]):
            les_points[i].append(pt[0])
            cv2.rectangle(crop_image, pt, (pt[0] + w[i], pt[1] + h[i]), (0,i*10,255), 2)
    print les_points
    cv2.imshow('normal',crop_image)
    if cv2.waitKey(1)& 0xFF == ord('p'):
        threshold=threshold+0.01
        print threshold
    if cv2.waitKey(1)& 0xFF == ord('m'):
        threshold=threshold-0.01
        print threshold
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

我正在通过将图像拆分为与模板中字符完全相同的大小来进行其他测试。但这并没有给出好的结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多