国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python高级 > Python中怎么像PS一样处理图像

Python中怎么像PS一样处理图像

头像

Python

2019-06-14 11:04:063867浏览 · 0收藏 · 0评论

Python中怎么像PS一样处理图像?

在Python中有着丰富的第三方模块可以使用,PIL:Python Imaging Library是Python平台上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

安装PIL

在Debian/Ubuntu Linux下直接通过apt安装:

$ sudo apt-get install python-imaging

Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:

$ sudo easy_install PIL

如果安装失败,根据提示先把缺失的包(比如openjpeg)装上。

Windows平台就去PIL官方网站下载exe安装包。

操作图像

来看看最常见的图像缩放操作,只需三四行代码:

import Image
 
# 打开一个jpg图像文件,注意路径要改成你自己的:
im = Image.open('/Users/michael/test.jpg')
# 获得图像尺寸:
w, h = im.size
# 缩放到50%:
im.thumbnail((w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('/Users/michael/thumbnail.jpg', 'jpeg')

其他功能如切片、旋转、滤镜、输出文字、调色板等一应俱全。

比如,模糊效果也只需几行代码:

import Image, ImageFilter
 
im = Image.open('/Users/michael/test.jpg')
im2 = im.filter(ImageFilter.BLUR)
im2.save('/Users/michael/blur.jpg', 'jpeg')

PIL的ImageDraw提供了一系列绘图方法,让我们可以直接绘图。比如要生成字母验证码图片

import Image, ImageDraw, ImageFont, ImageFilter
import random
 
# 随机字母:
def rndChar():
  return chr(random.randint(65, 90))
 
# 随机颜色1:
def rndColor():
  return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
 
# 随机颜色2:
def rndColor2():
  return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))
 
# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
  for y in range(height):
    draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(4):
  draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg');

我们用随机颜色填充背景,再画上文字,最后对图像进行模糊,得到验证码图片

如果运行的时候报错:

IOError: cannot open resource

这是因为PIL无法定位到字体文件的位置,可以根据操作系统提供绝对路径,比如:

'/Library/Fonts/Arial.ttf'

要详细了解PIL的强大功能,请请参考PIL官方文档:

http://effbot.org/imagingbook/

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《性爽2》电影| 美女和男生一起努力的生孩子视频..| 女生给男生吃小头头| 二叶草M码与欧洲码的区别| 乖把奶置脱了张开腿H别揉我动漫| 光溜溜瑜伽全套视频大全| 成色18K1.220.38软件| 韩漫| 麻豆传媒| 黑料社区| 17.C1起草视频| 啊…快……用力啊小能视频| 亚洲国产精品99久久久久久| 《厨房激战5》完整版在线观看| 深入交流漫画网免费看| 三叶草M码和欧洲码区别| 广汇能源股吧| 迅雷共享账号| 双人床上剧烈运动会怎么消除| 天美麻花高清在线看电视剧| 老公把舌头放进我B里搅拌| 中国高清WINDOWS视频| 三男一女CP免费观看电视剧大全| 精产一二三产区划分标准图片| 挤公交忘穿内裤被挺进| 第79章厨房的欢愉方晴| 宝贝今天可不可以不带小雨伞小说| 韩国 朋友家的麦子| 五十款夜间禁用APP粉色视频| xxxX| 暗黑吃瓜网官网CGW.73| 丰年经继拇中文3的主要角色分析| 星空无限传媒免费观看电视剧| 《年轻朋友的妻子3》| 黑瓜网-每日大赛 反差| 新婚夜被强伦无删减版| 妙手房术3真人版| 电影《偷吃》在线观看| 《一滴都不许漏》何泽城林荫 | 日剧《轮流抵债》在线观看| 《我的漂亮老板娘》演员名单