如何解决 tesseract ocr 中的换行问题?

How to solve new line problem in tessaract ocr?

我有一张图片,里面有文字。我用 ocr 扫描了那张图片,我得到了正确的文本。只有一个问题:如果换行,ocr 不会在两个单词之间留下 space。

img = cv2.imread('cropped.png')
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
result = pytesseract.image_to_string(img, lang='eng', config='--psm 6')
ret_str = ""
for letter in result:
    if letter.isalnum() or letter == " ":
        ret_str += letter.lower()
c_list = ret_str.strip()
print(c_list)

输出:

['gundam builddivers']

如您所见,第一个元素的 builddivers 之间没有 space。

图片:

img = cv2.imread('cropped.png')
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
result = pytesseract.image_to_string(img, lang='eng', config='--psm 6')
result = result.replace("\n", " ")
ret_str = ""
for letter in result:
    if letter.isalnum() or letter == " ":
        ret_str += letter.lower()
c_list = ret_str.strip()
print(c_list)

添加 .replace() 是解决方案