如何将图像分成python3行?

时间:2019-10-20 21:45:08

标签: python python-3.x

我有一个矩形图像。我需要一种使用PIL或OpenCV的方法将其分成x个像素高的部分。我已经看过表格,但我能找到的只是分割成小块的东西。有人知道如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

以下是执行您所要求的代码: split_into_rows函数执行所有实际的拆分,并且是generator。它反复使用裁切方法从图像中提取矩形部分并产生它们。

from PIL import Image
import os

im = Image.open('input_image.png')

def split_into_rows(im, row_height):
    y = 0
    print(im.height)
    while y < im.height:
        top_left = (0, y)
        bottom_right = (im.width, min(y + row_height, im.height))
        yield im.crop((*top_left, *bottom_right))

        y += row_height

OUTPUT_DIR = 'output'

for i, row in enumerate(split_into_rows(im, 400)):
    save_path = os.path.join(OUTPUT_DIR, f'{i}.png')

    row.save(save_path)
    print(i)