Форум сайта python.su
Пишу грабер на Scrapy. Понадобилось распознавать телефоны в изображении. Большинство телефонов отлично распознаются с помощью Tesseract с помощью такого кода:
def parse_phone(self, response): # todo: добавить контракт phone = Image.open(StringIO(response.body)) phone.load() image = Image.new("RGB", phone.size, (255, 255, 255)) image.paste(phone, mask=phone.split()[3]) # 3 is the alpha channel image = image.resize((image.size[0] * 4, image.size[1] * 4), Image.BICUBIC) l = response.meta['loader'] l.add_value('author_phone', tesseract.image_to_string(image, builder=tesseract.DigitBuilder())) return l.load_item()
Прикреплённый файлы:
all.png (217,3 KБ)
Офлайн
vanished
Отредактировано tz4678@gmail.com (Авг. 1, 2020 15:49:05)
Офлайн
Позиции символов фиксированы - можно на изображении просто вычистить тире. Так же можно порыться в настройках tesseract, или использовать другую ocr.
Отредактировано Shaman (Июнь 10, 2015 22:41:00)
Офлайн