如何解决 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']
如您所见,第一个元素的 build
和 divers
之间没有 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() 是解决方案
我有一张图片,里面有文字。我用 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']
如您所见,第一个元素的 build
和 divers
之间没有 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() 是解决方案