【问题标题】:OpenCV - Image Text enhancment - OCR pre-processingOpenCV - 图像文本增强 - OCR 预处理
【发布时间】:2020-04-27 20:35:33
【问题描述】:

我的目标是预处理图像(从视频中提取)以进行 OCR 检测。 文本始终为黑色,如下例所示:

我尝试使用年龄框架和 HVS 蒙版:

cv2.accumulateWeighted(frame,avg2,0.005)
#res2 = cv2.convertScaleAbs(avg2)
    # Convert BGR to HSV
    hsv = cv2.cvtColor(imgray, cv2.COLOR_BGR2HSV)
    # define range of black color in HSV
    lower_val = np.array([0,0,0])
    upper_val = np.array([179,255,127])
    # Threshold the HSV image to get only black colors
    mask = cv2.inRange(hsv, lower_val, upper_val)
    # invert mask to get black symbols on white background
    mask_inv = cv2.bitwise_not(mask)
    cv2.imshow("Mask", mask)

但结果还不够好。 寻找一些可能的解决方法。 谢谢

【问题讨论】:

    标签: python-3.x ocr opencv3.0 image-preprocessing


    【解决方案1】:

    这些类型的图像,其中文本实例不能轻易分离,tesseract 不会提供好的结果。如果您想从文本实例清晰的文档/论文/pdf等中提取文本,Tesseract 是一个不错的选择。

    对于您的问题,我建议您分别遵循文本检测和文本识别模型。对于文本检测,您可以使用最先进的模型,例如东部文本检测器,它能够在困难的图像中定位文本。它将在图像中的文本周围生成边界框,然后可以将该框交给另一个文本识别模型,该模型将执行实际的识别任务。

    对于文本检测:East 或任何其他最新型号 对于文本识别:基于 CRNN 的模型

    请尝试实现上述模型,我相信它们的性能会比您从 Tesseract 获得的更好:)

    BR!

    【讨论】:

    • Thx @JD95,我过去已经使用过 EAST 模型,但在我的场景中,这无助于文本检测,因为我有一个固定的位置。我正在寻找预处理的最佳实践,以最大限度地提高 tesseract 性能。thx
    猜你喜欢
    • 2020-12-29
    • 2016-03-10
    • 1970-01-01
    • 2017-09-21
    • 2015-05-10
    • 1970-01-01
    • 2019-01-12
    • 2014-10-07
    • 2018-09-22
    相关资源
    最近更新 更多