Нарезка изображения на полоски для распознавания

#python #image #ocr #tesseract

Вопрос:

Я пытаюсь разрезать PNG на серию полос, чтобы я мог использовать тессеракт для точного чтения каждой строки банковской выписки (если есть что-то, что уже читает банковскую выписку, пожалуйста, сообщите мне

Я начал с использования image slicer библиотеки, которая разбивает только на плитки.

 import image_slicer
from PIL import Image

pages = convert_from_path('OCRBeebun/Bacon.pdf', 500)
i = 0
firstRun = False

if firstRun:
    for page in pages:

        page.save("img_" str(i) '.png','PNG')
        i =1


image_slicer.slice("img_0.png",14)
 

Есть какие-нибудь идеи?

Комментарии:

1. поделитесь кодом?

2. @UrDistraction он разрезается на 14 плиток, в любом случае это могут быть фрагменты строк?

Ответ №1:

Если вы открываете изображение с помощью cv2.imread() , то вы можете разрезать изображение так же, как вы разрезаете строку (для этого вам также необходимо импортировать numpy), например.,

 import numpy
import cv2

img = cv2.imread('path-to-image.png', cv2.IMREAD_GRAYSCALE) # you can have that flag if u need it tho
# if you have the coordinates to slice the image, then
cropped_img = img[height_start:height_end, width_start:width_end]
# You can also run the above line in a loop to get more than one sliced image

# To save the sliced image
cv2.imwrite('cropped_image.png', cropped_img)
 

Введите свои значения в поле height_start, height_end, width_start и width_end