INNER CODE UNIT · Python

trim_white

gokayfem/awesome-vlm-architectures · scripts/extract_architecture_figures.py:117

def trim_white(image: Image.Image, padding: int = 18) -> Image.Image:
    rgb = image.convert("RGB")
    background = Image.new("RGB", rgb.size, "white")
    difference = ImageChops.difference(rgb, background).convert("L")
    difference = difference.point(lambda value: 255 if value > 12 else 0)
    bbox = difference.getbbox()
    if not bbox:
        return rgb
    left = max(0, bbox[0] - padding)
    top = max(0, bbox[1] - padding)
    right = min(rgb.width, bbox[2] + padding)
    bottom = min(rgb.height, bbox[3] + padding)
    return rgb.crop((left, top, right, bottom))


def extract(record: dict[str, object]) -> Path:
    arxiv_id = str(record["arxiv_id"])
    page_number = int(record["pdf_page"])

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…