mo-ocr / utils /preprocessing.py
mnhkahn's picture
feat: 添加表格检测与OCR功能
c2e1fed
Raw
History Blame Contribute Delete
1.11 kB
from torchvision import transforms
from PIL import Image
class MaxResize(object):
def __init__(self, max_size=800):
self.max_size = max_size
def __call__(self, image):
width, height = image.size
current_max_size = max(width, height)
scale = self.max_size / current_max_size
resized_image = image.resize((int(round(scale*width)), int(round(scale*height))))
return resized_image
detection_transform = transforms.Compose([
MaxResize(800),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])
structure_transform = transforms.Compose([
MaxResize(1000),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])
def prepare_image(image, device):
pixel_values = detection_transform(image).unsqueeze(0)
pixel_values = pixel_values.to(device)
return pixel_values
def prepare_cropped_image(cropped_image, device):
pixel_values = structure_transform(cropped_image).unsqueeze(0)
pixel_values = pixel_values.to(device)
return pixel_values