纯净、安全、绿色的下载网站

首页

当前位置:首页IT学院IT技术

python 图片处理 python 对图片进行简单的处理

临时营地   2021-06-22 我要评论
想了解python 对图片进行简单的处理的相关内容吗临时营地在本文为您仔细讲解python 图片处理的相关知识和一些Code实例欢迎阅读和指正我们先划重点:python,图片处理下面大家一起来学习吧

安装Pillow包

pip install Pillow

图片划线

from PIL import Image, ImageDraw
im = Image.open("blur.jpg")
draw = ImageDraw.Draw(im)
draw.line((0, 0) + im.size, fill=128)
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw
# write to stdout
im.save("blur.jpg", "PNG")

图片写字

有的时候我们可能需要往图片上写一些文字比如说水印什么的只要选择好我们本地的字体文件直接就可以在图片上写字了

from PIL import ImageFont, ImageDraw,Image, ImageDraw
image = Image.open("image.png").convert('RGBA')
txt=Image.new('RGBA', image.size, (0,0,0,0))
font=ImageFont.truetype("c:/Windows/fonts/Tahoma.ttf", 20)
draw=ImageDraw.Draw(txt)
draw.text((txt.size[0]-100, txt.size[1]-30), "linshiyingdi", font=font)
out=Image.alpha_composite(image, txt)
out.save("imageWithText.png", "png")
out.show()

图片加图片水印

文字水印有时候不好看想改成图片水印也是可以的

from PIL import ImageFont, ImageDraw, Image, ImageDraw

image = Image.open("image.png")
logo = Image.open("logo.png")
layer = Image.new('RGBA', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = Image.composite(layer, image, layer)
out.save("imageWithLogo.png", "png")
out.show()

如果水印图片过大时可以直接缩小点直接使用图片自带的thumbnail方法就行

from PIL import ImageFont, ImageDraw, Image, ImageDraw

image = Image.open("image.png")
logo = Image.open("logo.png")
logo.thumbnail((200, 100))
layer = Image.new('RGBA', image.size, (0, 0, 0, 0))
layer.paste(logo, (50, 60))
out = Image.composite(layer, image, layer)
out.save("imageWithLogo.png", "png")
out.show()

如下图我们的水印图片放到了左上角大小也非常合适

图片模糊

from PIL import Image, ImageFilter
# 打开一个jpg图像文件直接放到当前路径下方便点:
im = Image.open('2822.jpg')
# 应用模糊滤镜:
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')

图片截取

from PIL import Image
img = Image.open("image.png")
print(img.size)
cropped = img.crop((0, 0, 1303, 734))  # (left, upper, right, lower)
cropped.save("imageCropped.png")

可以看到的是如果这个图片的长度和宽度比1303和734小的时候会有透明的填充感觉很难看可以将对应的长度和宽度和这两个数字做个判断

from PIL import Image

img = Image.open("image.png")
print(img.size)
right = 1303
lower = 734
if img.size[0] < 1303:
    right = img.size[0]
if img.size[1] < 734:
    lower = img.size[1]
cropped = img.crop((0, 0, right, lower))  # (left, upper, right, lower)
cropped.save("imageCropped.png")

这样白边就被干掉了

总结

人生苦短我用 Python在强大的Pillow帮助下我们只需几行代码就可以实现图片的各种处理


相关文章

猜您喜欢

  • Python人脸识别 教你怎样用Python实现人脸识别(含源代码)

    想了解教你怎样用Python实现人脸识别(含源代码)的相关内容吗python588在本文为您仔细讲解Python人脸识别的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python人脸识别,Python识别人脸下面大家一起来学习吧..
  • Python 线性规划 浅谈Python数学建模之线性规划

    想了解浅谈Python数学建模之线性规划的相关内容吗youcans在本文为您仔细讲解Python 线性规划的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python,线性规划下面大家一起来学习吧..

网友评论

Copyright 2022 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们