首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >识别文档检测和ocr中的模糊文本

识别文档检测和ocr中的模糊文本
EN

Stack Overflow用户
提问于 2018-05-28 11:42:34
回答 1查看 2.1K关注 0票数 1

我有一个非常具体的场景文本检测和解析问题。我甚至不确定你是否能说这是一个真实的场景文本。

我从一张身份证照片中提取了一个姓名字段:

我可以立即开始在图像上应用一些OCR,但我相信还可以应用进一步的文本本地化。为了实现这一形象:

你知道任何这样的文本本地化算法吗?我已经试过“FASText by Busta”、“EAST by argman”,他们工作得很得体。有关于这个特定任务的算法吗?

在文本本地化之后,我认为现在是应用OCR的最佳时机。现在我感到迷茫了。您推荐使用哪一种?我已经试过“Tesseract”了,但效果不太好。使用Tensorflow为文档字符制作自己的OCR是否更好?

EN

回答 1

Stack Overflow用户

发布于 2018-05-29 13:26:03

试着增加图像的对比度。您可以使用:

代码语言:javascript
运行
复制
import matplotlib.pyplot as plt
import cv2
import numpy as np


def cvt_BGR2RGB(img):
  return cv2.cvtColor(img,cv2.COLOR_BGR2RGB)


def contrast(img,show=False):
  # CLAHE (Contrast Limited Adaptive Histogram Equalization)
  clahe=cv2.createCLAHE(clipLimit=3., tileGridSize=(8,8))

  lab=cv2.cvtColor(img, cv2.COLOR_BGR2LAB)  # convert from BGR to LAB color space
  l,a,b=cv2.split(lab)  # split on 3 different channels

  l2=clahe.apply(l)  # apply CLAHE to the L-channel

  lab=cv2.merge((l2,a,b))  # merge channels
  img2=cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)  # convert from LAB to BGR
  if show:
    #plot the original and contrasted image
    f=plt.figure(figsize=(15,15))
    ax1=f.add_subplot(121)
    img1_cvt=cvt_BGR2RGB(img)
    plt.imshow(img1_cvt)
    ax2=f.add_subplot(122)
    img2_cvt=cvt_BGR2RGB(img2)
    plt.imshow(img2_cvt)
    plt.show()
  return img,img2

也许那时你可以使用pyteserract

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50565610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档