PIL模块图像处理

PIL模块图像处理

1.读取显示保存裁剪图像

"""
Created on Sat Feb  1 14:54:28 2020

@author: 陨星落云
"""
#%% 读取显示保存裁剪
from PIL import Image

img = Image.open("lena.jpg")
# 图像格式
print(img.format)
# 图像颜色空间
print(img.mode)
# 图像大小
print(img.size)
# 图像显示
img.show()

# 调整图像大小,容易导致图像变形
small_img = img.resize((100,50))
# 保存图像
small_img.save("test_lena.jpg")

# # 利用图像缩略图,调整图像大小,不会造成变形
# img.thumbnail((100,50))
# img.save("test_thumbnail_lena.jpg")

# 图像裁剪
cropped_img = img.crop((0,0,150,150))
cropped_img.show()

输出结果:

JPEG
RGB
(256, 256)

2.复制粘贴旋转镜像

#%% 复制粘贴旋转镜像
from PIL import Image
# 读取图像
img1 = Image.open("beautiful-beautiful-girl-bright-cute-301958.jpg")
img2 = Image.open("lena.jpg")

img2 = img2.resize((500,500))
# 图像复制
img1_copy = img1.copy()
# 将img2粘贴到img1中(500,500)的位置
img1_copy.paste(img2,(500,500))
img1_copy.save("img1_test.jpg")

# 图像旋转
img45 = img2.rotate(45,expand=True)
img45.save("img45.jpg")
# 图像镜像
img_flipLR = img2.transpose(Image.FLIP_LEFT_RIGHT)
img_flipLR.save("img_flipLR.jpg")

img_flipTB = img2.transpose(Image.FLIP_TOP_BOTTOM)
img_flipTB.save("img_fliptb.jpg")

输出结果:

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

3.彩色图像转灰度图像

#%% 
from PIL import Image

img = Image.open("lena.jpg")
gray_img = img.convert("L")
gray_img.save("gray_img.jpg")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GDsxcMXn-1580545460283)(C:\Users\67231\Desktop\ImageSegmentation\gray_img.jpg)]

4.自动化处理

#%% RGB转灰度
from PIL import Image
import glob
path = "test/*.jpg"
for file in glob.glob(path):
    print(file)
    img = Image.open(file)
    img1 = img.convert('L')
    # img1.show()
    img1.save(file[:-4]+'gray.jpg')
发布了59 篇原创文章 · 获赞 26 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_28368377/article/details/104135216