如何在Python中移动图像的列

-4 投票
1 回答
34 浏览
提问于 2025-04-14 15:33

我想通过一种方法来调整图像中的斜线。这个方法是先生成一张比原图大、全黑的图像,然后把原图的列移到这张黑图上。具体来说,就是把原图的第一列移动一个像素,第二列移动两个像素,第三列移动三个像素,依此类推。不过,我在用Python实现这个方法时遇到了问题。

请帮帮我,我该怎么做呢?

1 个回答

0

我写了一个程序,这个程序会生成一张新图片,每一列的偏移量比上一列多一个像素。我是用PIL这个模块来实现的。只需要把第3行中的"image.png"改成你自己图片的名字就可以了。

这是我用你的图片得到的结果。

下面是代码:

from PIL import Image

img = Image.open("image.png")

new_height = sum(img.size)
new_img = Image.new(mode="RGB", size=(img.size[0], new_height))

y_offset = 0
for column in range(img.size[0]):
    for pix in range(img.size[1]):
        col = img.getpixel((column, pix))
        new_img.putpixel((column, pix + y_offset), col)

    y_offset += 1

new_img.save("new_img.png")

撰写回答