首页 > 解决方案 > 改进灰度图像上的 Tessrac 检测

问题描述

我对低对比度的相同文件的文本识别有问题。我正在使用 PYTESSERACT 和一些文件,像这样,绝对没有给我任何回报:http: //i.imgur.com/l91O5JH.png

我使用 PyTesseract 的 LineBoxBuilder。在此之前,我将 PDF 转换为 JPG :

def save_img_with_wand(self, pdfName, output):
    with Img(filename=pdfName, resolution=300) as pic:
        pic.compression_quality = 100
        pic.background_color    = Color("white")
        pic.alpha_channel       = 'remove'
        pic.save(filename=output)

线框生成器:

def line_box_builder(self, img):
    try:
        return self.tool.image_to_string(
            img,
            lang=self.lang,
            builder=pyocr.builders.LineBoxBuilder()
        )

    except pytesseract.pytesseract.TesseractError as t:
        self.Log.error('Tesseract ERROR : ' + str(t))

如果什么也没找到,我使用 OpenCV 来改进检测:

@staticmethod
def improve_image_detection(img):
    src     = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
    dst     = cv2.adaptiveThreshold(src, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,11, 2)
    cv2.imwrite(img, dst)

我尝试了多种 OpenCV 解决方案,但在所有情况下,我都无法阅读上图所示糟糕背景上的文本

在此先感谢您的帮助

标签: pythontesseractpython-tesseract

解决方案


推荐阅读