【问题标题】:Invoice/Imaging: Remove noise in image发票/成像:去除图像中的噪点
【发布时间】:2013-09-28 03:48:04
【问题描述】:

我在这里有一张黑白图像,我正准备将其放入 OCR 中,即 Tesseract。然而,Tesseract 无法检测到任何噪声区域。

我在这里寻找什么样的解决方案来消除噪音?由于 Tesseract 无法识别它,我认为移除是最好的可行选择。

【问题讨论】:

    标签: java image ocr tesseract noise


    【解决方案1】:

    您可以使用 TextCleaner,一个 ImageMagick 脚本来清理文本背景。

    【讨论】:

    • 我会在下周重新开始工作时试试这个,但我希望许可费不会太高。
    【解决方案2】:

    如果您正在寻找 python 代码,这里的代码可以去除噪音

    import cv2
    import numpy as np
    
    # load color image
    im = cv2.imread('input.jpg')
    
    # smooth the image with alternative closing and opening
    # with an enlarging kernel
    morph = im.copy()
    
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 1))
    morph = cv2.morphologyEx(morph, cv2.MORPH_CLOSE, kernel)
    morph = cv2.morphologyEx(morph, cv2.MORPH_OPEN, kernel)
    
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2))
    
    # take morphological gradient
    gradient_image = cv2.morphologyEx(morph, cv2.MORPH_GRADIENT, kernel)
    
    # split the gradient image into channels
    image_channels = np.split(np.asarray(gradient_image), 3, axis=2)
    
    channel_height, channel_width, _ = image_channels[0].shape
    
    # apply Otsu threshold to each channel
    for i in range(0, 3):
        _, image_channels[i] = cv2.threshold(~image_channels[i], 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY)
        image_channels[i] = np.reshape(image_channels[i], newshape=(channel_height, channel_width, 1))
    
    # merge the channels
    image_channels = np.concatenate((image_channels[0], image_channels[1], image_channels[2]), axis=2)
    
    # save the denoised image
    cv2.imwrite('output.jpg', image_channels)
    

    如果您正在处理的图像是发票(或在白色背景上有大量文本),上述代码不会给出好的结果。 为了在此类图像上获得良好的效果,请删除

    gradient_image = cv2.morphologyEx(morph, cv2.MORPH_GRADIENT, kernel)
    

    并将morph obj 传递给split 函数并删除for 循环内的~ 符号

    【讨论】:

      猜你喜欢
      • 2013-08-08
      • 2023-04-10
      • 1970-01-01
      • 2016-12-05
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      相关资源
      最近更新 更多