Невозможно заменить «₹» на pytesseract python.Python

Программы на Python
Anonymous
Невозможно заменить «₹» на pytesseract python.

Сообщение Anonymous »


Я пытаюсь получить текст из изображения с помощью библиотеки pytesseract. со следующим кодом

импортировать pytesseract из PIL импортировать изображение, ImageEnhance, ImageFilter pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' класс Входное изображение: защита __init__(self,image_path): self.img = Image.open(путь_изображения) защита find_name(self): подробный_бокс = (134 202 680 286) Detail_img = self.img.crop(detail_box) Detail_img = Detail_img.convert('L') Detail_img = Detail_img.point(лямбда x: 0, если x < 140, иначе 255, '1') # Порог Detail_img = Detail_img.filter(ImageFilter.SHARPEN) # Повышение резкости изображения Detail_img = Detail_img.resize([2 * s для s в Detail_img.size], Image.BICUBIC) # Масштабировать custom_config = r'--oem 3 --psm 6 -c tessedit_char_whitelist=0123456789,.' Detail_text = pytesseract.image_to_string(detail_img, lang='eng', config=custom_config) Detail_text = Detail_text.strip().replace('₹', '').strip() вернуть f"{detail_text}" если __name__=='__main__': image_path = r'C:\Pictures\Saved Pictures\downloads\file_4.jpg' x=InputImage(путь_изображения) печать (x.find_name()) Коробка, которая анализируется на картинке, выглядит примерно так:


Изображение


Но проблема в том, что получаемый текст выглядит примерно так: МАМТА ФАРМА 21 361 это также происходит в нескольких текстах, где "₹" интерпретируется как "2"

Для моего варианта использования мне нужно знать точную сумму, убрав «₹», но этого не происходит. Как я могу выбрать только часть суммы, игнорируя «₹» во всем текстовом поле? Судя по всему, часть .replace('₹', '').strip(), похоже, обнаруживает "₹" Я считаю, что можно сократить путь, если удалить первую цифру 2, но это выглядит неправильно

Любой вклад здесь очень ценится

Вернуться в «Python»