欢迎访问宙启技术站
智能推送

使用Python的flip_vertical()函数实现图片垂直翻转

发布时间:2023-12-24 09:56:32

在Python中,可以使用PIL库(Python Imaging Library)来操作图像。PIL库提供了许多图像处理的功能,其中包括垂直翻转图像的函数flip()。

下面是使用Python的flip_vertical()函数实现图片垂直翻转的示例代码:

from PIL import Image

def flip_vertical(image_path):
    # 打开图像文件
    image = Image.open(image_path)
    
    # 获取图像的宽度和高度
    width, height = image.size
    
    # 创建一个新的空白图像,大小与原图像相同
    flipped_image = Image.new('RGB', (width, height))
    
    # 对每个像素进行翻转
    for y in range(height):
        for x in range(width):
            # 获取原图像像素的RGB值
            r, g, b = image.getpixel((x, y))
            
            # 将原图像像素的RGB值复制到新图像中,但是将y坐标翻转
            flipped_image.putpixel((x, height - y - 1), (r, g, b))
    
    # 保存翻转后的图像
    flipped_image.save('flipped_image.jpg')
    
    # 关闭图像文件
    image.close()
    flipped_image.close()

# 调用函数并传入图片的文件路径
flip_vertical('original_image.jpg')

在这个示例代码中,我们定义了一个名为flip_vertical()的函数,它接受一个图像文件的路径作为参数。函数中使用了PIL库的Image.open()函数来打开图像文件,并使用Image.new()函数创建了一个新的空白图像对象。

接下来,我们通过两个嵌套的循环来遍历原图像的每个像素。在每个循环迭代中,我们使用Image.getpixel()函数获取原图像像素的RGB值,并使用Image.putpixel()函数将这些RGB值复制到新图像中,但是在y坐标上进行翻转(通过height - y - 1)。

最后,我们使用Image.save()函数将翻转后的图像保存为名为'flipped_image.jpg'的文件,并使用Image.close()函数关闭图像文件。

可以将上面的示例代码保存为一个Python文件(例如'flip_image.py'),并将一个名为'original_image.jpg'的图像文件与该Python文件保存在同一个文件夹中。然后,运行该Python文件,就会生成一个名为'flipped_image.jpg'的翻转后的图像文件。

希望以上内容对您有所帮助!