PIL基础操作
新建图片
from PIL import Image
# 通常使用RGB模式就可以了
new_img = Image.new('RGB', (100, 100), 'red')
new_img.save("1.jpg", "JPEG")
new_img = Image.new('RGB', (100, 100), '#B286FF')
new_img.save("2.jpg", "JPEG")
new_img = Image.new('RGB', (100, 100), (255, 255, 128))
new_img.save("3.jpg", "JPEG")
打开图片
BASE_PATH = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(BASE_PATH, "fj.jpg")
# 打开图片
img = Image.open(file_path)
"""
format : 识别图像的源格式,如果该文件不是从文件中读取的,则被置为 None 值。
size : 返回的一个元组,有两个元素,其值为象素意义上的宽和高。
mode :
· 1 (1-bit pixels, black and white, stored with one pixel per byte)
· L (8-bit pixels, black and white)
· P (8-bit pixels, mapped to any other mode using a colour palette)
· RGB (3x8-bit pixels, true colour)
· RGBA (4x8-bit pixels, true colour with transparency mask)
· CMYK (4x8-bit pixels, colour separation)
· YCbCr (3x8-bit pixels, colour video format)
· I (32-bit signed integer pixels)
· F (32-bit floating point pixels)
"""
print img.format, img.size, img.mode, img.height, img.width
# h,w = img.size # (X,Y)
等价于
# h = img.heigth
# w = img.width
# 缩略图
img.thumbnail((w*0.75, h//2))
img.save("1.jpg", "JPEG")
# 应用模糊滤镜:
im2 = img.filter(ImageFilter.BLUR)
# 存储图片
im2.save('blur.jpg', 'JPEG')
• BLUR:模糊滤波
• CONTOUR:轮廓滤波
• DETAIL:细节滤波
• EDGE_ENHANCE:边界增强滤波
• EDGE_ENHANCE_MORE:边界增强滤波(程度更深)
• EMBOSS:浮雕滤波
• FIND_EDGES:寻找边界滤波
• SMOOTH:平滑滤波
• SMOOTH_MORE:平滑滤波(程度更深)
• SHARPEN:锐化滤波
• GaussianBlur(radius=2):高斯模糊>radius指定平滑半径。
• UnsharpMask(radius=2, percent=150, threshold=3):反锐化掩码滤波>radius指定模糊半径;>percent指定反锐化强度(百分比);>threshold控制被锐化的最小亮度变化。
• Kernel(size, kernel, scal