Python图像处理神器Pillow指南

Pillow简介

Pillow是Python Imaging Library(PIL)的一个友好分支,提供了丰富的图像处理功能。支持多种图像格式,包括JPEG、PNG、GIF、BMP等。Pillow简化了图像操作,使其成为Python开发者处理图像的首选工具。

安装Pillow

使用pip可以轻松安装Pillow:

pip install pillow

基本图像操作

打开和显示图像:

from PIL import Image

img = Image.open('example.jpg')
img.show()

保存图像:

img.save('output.png')

图像处理功能

调整图像大小:

resized_img = img.resize((width, height))

旋转图像:

rotated_img = img.rotate(45)  # 旋转45度

裁剪图像:

cropped_img = img.crop((left, top, right, bottom))

图像滤镜

应用滤镜:

from PIL import ImageFilter

blurred_img = img.filter(ImageFilter.BLUR)

边缘检测:

edge_img = img.filter(ImageFilter.FIND_EDGES)

颜色转换

转换为灰度:

gray_img = img.convert('L')

调整亮度:

from PIL import ImageEnhance

enhancer = ImageEnhance.Brightness(img)
bright_img = enhancer.enhance(1.5)  # 增加50%亮度

高级功能

创建缩略图:

img.thumbnail((100, 100))  # 保持比例生成缩略图

图像合成:

from PIL import ImageDraw

draw = ImageDraw.Draw(img)
draw.text((10, 10), "Hello", fill=(255, 0, 0))

性能优化

批量处理图像:

for file in os.listdir('images'):
    img = Image.open(f'images/{file}')
    img.thumbnail((500, 500))
    img.save(f'thumbnails/{file}')

使用多核处理:

from multiprocessing import Pool

def process_image(file):
    img = Image.open(file)
    img.thumbnail((500, 500))
    img.save(f'processed_{file}')

files = ['1.jpg', '2.jpg', '3.jpg']
with Pool() as p:
    p.map(process_image, files)

常见问题解决

处理大图像:

Image.MAX_IMAGE_PIXELS = None  # 解除大图像限制

内存管理:

with Image.open('large.jpg') as img:
    # 处理代码

实际应用案例

生成验证码:

from PIL import Image, ImageDraw, ImageFont
import random

def generate_captcha():
    img = Image.new('RGB', (200, 100), color=(255, 255, 255))
    draw = ImageDraw.Draw(img)
    font = ImageFont.truetype('arial.ttf', 36)
    text = ''.join(random.choices('ABCDEFGHJKLMNPQRSTUVWXYZ23456789', k=6))
    draw.text((10, 30), text, font=font, fill=(0, 0, 0))
    return img, text

总结

Pillow提供了强大的图像处理能力,从简单的格式转换到复杂的图像操作都能胜任。通过合理使用其API,可以高效完成各种图像处理任务。对于需要更高级功能的场景,可以结合NumPy等科学计算库进一步扩展。

BbS.okacop000.info/PoSt/1120_347625.HtM
BbS.okacop001.info/PoSt/1120_392391.HtM
BbS.okacop002.info/PoSt/1120_174437.HtM
BbS.okacop003.info/PoSt/1120_014680.HtM
BbS.okacop004.info/PoSt/1120_510703.HtM
BbS.okacop005.info/PoSt/1120_945582.HtM
BbS.okacop006.info/PoSt/1120_883396.HtM
BbS.okacop007.info/PoSt/1120_392656.HtM
BbS.okacop008.info/PoSt/1120_219195.HtM
BbS.okacop009.info/PoSt/1120_357531.HtM
BbS.okacop000.info/PoSt/1120_079230.HtM
BbS.okacop001.info/PoSt/1120_883412.HtM
BbS.okacop002.info/PoSt/1120_670111.HtM
BbS.okacop003.info/PoSt/1120_827018.HtM
BbS.okacop004.info/PoSt/1120_127009.HtM
BbS.okacop005.info/PoSt/1120_419315.HtM
BbS.okacop006.info/PoSt/1120_942377.HtM
BbS.okacop007.info/PoSt/1120_644705.HtM
BbS.okacop008.info/PoSt/1120_300089.HtM
BbS.okacop009.info/PoSt/1120_838423.HtM
BbS.okacop000.info/PoSt/1120_567735.HtM
BbS.okacop001.info/PoSt/1120_213033.HtM
BbS.okacop002.info/PoSt/1120_227906.HtM
BbS.okacop003.info/PoSt/1120_771765.HtM
BbS.okacop004.info/PoSt/1120_587442.HtM
BbS.okacop005.info/PoSt/1120_268191.HtM
BbS.okacop006.info/PoSt/1120_809662.HtM
BbS.okacop007.info/PoSt/1120_995033.HtM
BbS.okacop008.info/PoSt/1120_648149.HtM
BbS.okacop009.info/PoSt/1120_846217.HtM
BbS.okacop010.info/PoSt/1120_691279.HtM
BbS.okacop011.info/PoSt/1120_950152.HtM
BbS.okacop012.info/PoSt/1120_450174.HtM
BbS.okacop013.info/PoSt/1120_826903.HtM
BbS.okacop014.info/PoSt/1120_544932.HtM
BbS.okacop015.info/PoSt/1120_811334.HtM
BbS.okacop016.info/PoSt/1120_879608.HtM
BbS.okacop017.info/PoSt/1120_286333.HtM
BbS.okacop018.info/PoSt/1120_238102.HtM
BbS.okacop019.info/PoSt/1120_491371.HtM
BbS.okacop010.info/PoSt/1120_436897.HtM
BbS.okacop011.info/PoSt/1120_583774.HtM
BbS.okacop012.info/PoSt/1120_398483.HtM
BbS.okacop013.info/PoSt/1120_178634.HtM
BbS.okacop014.info/PoSt/1120_006491.HtM
BbS.okacop015.info/PoSt/1120_740240.HtM
BbS.okacop016.info/PoSt/1120_606104.HtM
BbS.okacop017.info/PoSt/1120_147337.HtM
BbS.okacop018.info/PoSt/1120_053154.HtM
BbS.okacop019.info/PoSt/1120_002824.HtM
BbS.okacop010.info/PoSt/1120_670043.HtM
BbS.okacop011.info/PoSt/1120_519933.HtM
BbS.okacop012.info/PoSt/1120_188364.HtM
BbS.okacop013.info/PoSt/1120_729409.HtM
BbS.okacop014.info/PoSt/1120_931227.HtM
BbS.okacop015.info/PoSt/1120_457669.HtM
BbS.okacop016.info/PoSt/1120_696803.HtM
BbS.okacop017.info/PoSt/1120_424181.HtM
BbS.okacop018.info/PoSt/1120_196557.HtM
BbS.okacop019.info/PoSt/1120_068026.HtM
BbS.okacop010.info/PoSt/1120_750708.HtM
BbS.okacop011.info/PoSt/1120_674613.HtM
BbS.okacop012.info/PoSt/1120_555456.HtM
BbS.okacop013.info/PoSt/1120_106508.HtM
BbS.okacop014.info/PoSt/1120_675441.HtM
BbS.okacop015.info/PoSt/1120_304802.HtM
BbS.okacop016.info/PoSt/1120_505473.HtM
BbS.okacop017.info/PoSt/1120_621439.HtM
BbS.okacop018.info/PoSt/1120_682631.HtM
BbS.okacop019.info/PoSt/1120_763120.HtM
BbS.okacop010.info/PoSt/1120_141395.HtM
BbS.okacop011.info/PoSt/1120_200098.HtM
BbS.okacop012.info/PoSt/1120_145021.HtM
BbS.okacop013.info/PoSt/1120_736813.HtM
BbS.okacop014.info/PoSt/1120_363449.HtM
BbS.okacop015.info/PoSt/1120_875684.HtM
BbS.okacop016.info/PoSt/1120_206789.HtM
BbS.okacop017.info/PoSt/1120_872629.HtM
BbS.okacop018.info/PoSt/1120_436563.HtM
BbS.okacop019.info/PoSt/1120_394744.HtM

#牛客AI配图神器#

全部评论

相关推荐

淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务