Удаление лишнего \ n из строки в python - PullRequest
0 голосов
/ 26 мая 2020

Недавно я изучал распознавание текста в python. При преобразовании изображений в строку он случайным образом выводит дополнительную новую строку в моих изображениях. Я пытался удалить его, но, похоже, не могу найти способ, как это сделать. Моя цель - разделить варианты выбора на соответствующие строки

Вот мой код и изображение:

ROI_0.png

choices = cv2.imread("ROI_0.png", 0)
custom_config = r'--oem 3 --psm 6'
c = pytesseract.image_to_string(choices, config=custom_config, lang='eng')

print(c.rstrip("\n"))  # my attempt
text = repr(c)
print(text)
newtext = text.split("\\n")
print(newtext)

Вот результаты:

a. E. 0. 125

b. R. A. 3846
c. R. A. 3396
d. R. A. 7925


'a. E. 0. 125\n\nb. R. A. 3846\nc. R. A. 3396\nd. R. A. 7925'

["'a. E. 0. 125", '', 'b. R. A. 3846', 'c. R. A. 3396', "d. R. A. 7925'"]

1 Ответ

0 голосов
/ 26 мая 2020

Что вы можете сделать, так это удалить несколько новых строк в одну новую строку:

import re

x = re.sub(r'\n{2, 10}', '\n', c)   # \n is new line, {2,10} is the range of occurrences of the newline that I'm searching for.

Это будет примерно так:

choices = cv2.imread("ROI_0.png", 0)
custom_config = r'--oem 3 --psm 6'
c = pytesseract.image_to_string(choices, config=custom_config, lang='eng')

x = re.sub(r'\n{2, 10}', '\n', c)

print(x.rstrip("\n"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...