图像处理PILLOW的使用

1.安装

pip install Pillow

2.使用

1)图片缩放

from PIL import Imageim = Image.open(‘dog.jpg‘)
w,h = im.size  #获取图像的尺寸
im.thumbnail((w/2,h/2)) #将图像缩放50%
#im.show()  #显示图片
im.save(‘dog_thumbnail.jpg‘) #保存图片

效果图:

2.图片模糊

im = Image.open(‘dog.jpg‘)
im2 = im.filter(ImageFilter.BLUR)
im2.save(‘dog_blur.jpg‘)

效果图:

3.生成验证码

from PIL import ImageDraw,ImageFont,ImageFilter
import random

#返回一个A-Z的随机字母
def randomChar():
    return chr(random.randint(65,90))

#随机颜色
def randomColor1():
    return (random.randint(64,255),random.randint(64,255),random.randint(64,255))

#随机颜色2
def randomColor2():
    return (random.randint(32,127),random.randint(32,127),random.randint(32,127))

width = 60 * 4
height = 60
#创建白色图片
image = Image.new(‘RGB‘,(width,height),(255,255,255))
#创建font对象
#OSError: cannot open resource 需要指定字体库的系统路径
#font = ImageFont.truetype("Arial.ttf",36)
font = ImageFont.truetype("C:/windows/fonts/Arial.ttf",36)
#创建Draw对象,用于向白色背景图片上绘图
draw = ImageDraw.Draw(image)
#填充每一个像素
for x in range(width):
    for y in range(height):
        draw.point((x,y),fill=randomColor1())

#输出文字
for i in range(4):
    draw.text((60*i+10,10),randomChar(),font=font,fill=randomColor2())

#模糊
image = image.filter(ImageFilter.BLUR)
image.save("captcha.jpg")

效果:

4.裁图,旋转,粘贴

from PIL import Image
im = Image.open(‘dog.jpg‘)
box = (100,50,350,250)  #要裁剪的矩形区域,坐标以左上角为原点
region = im.crop(box)  #返回裁剪到的图片
#region.show()
region = region.transpose(Image.ROTATE_180) #对图像进行旋转
im.paste(region,box)  #将旋转后的图像粘回原图
im.show()

效果图:

5.添加图片水印:

from PIL import Image

image = Image.open(‘dog.jpg‘)
logo = Image.open(‘logo.png‘)
logoW,logoH= logo.size
imageW,imageH = image.size
image.paste(logo,(imageW - logoW, imageH - logoH))
image.show()

效果:

6.添加透明文字水印:

参考: http://pythoncentral.io/watermark-images-python-2x/

def add_watermark(in_file, text,font,out_file=‘watermark.jpg‘, angle=23, opacity=0.25):
    ‘‘‘
    :param in_file: 要添加水印的图片
    :param text:  文字水印内容
    :param out_file: 添加水印后的图片
    :param font:水印字体
    :param angle: 水印旋转角度
    :param opacity: 水印透明度
    ‘‘‘
    img = Image.open(in_file).convert(‘RGB‘)
    watermark = Image.new(‘RGBA‘, img.size, (0, 0, 0, 0))
    size = 2
    n_font = ImageFont.truetype(font, size)
    #getsize返回水印文字对应字体大小的宽度和高度
    n_width, n_height = n_font.getsize(text)
    #找到使得水印文字宽度最接近图片宽度的字体大小
    while n_width + n_height < watermark.size[0]:
        size += 2
        n_font = ImageFont.truetype(font, size)
        n_width, n_height = n_font.getsize(text)
    draw = ImageDraw.Draw(watermark, ‘RGBA‘)
    draw.text(((watermark.size[0] - n_width) / 2,
               (watermark.size[1] - n_height) / 2),
              text, font=n_font)
    watermark = watermark.rotate(angle, Image.BICUBIC)
    alpha = watermark.split()[3]
    #通过降低亮度和对比度来降低水印的透明度
    alpha = ImageEnhance.Brightness(alpha).enhance(opacity)
    #设置透明度
    watermark.putalpha(alpha)
    #添加水印
    Image.composite(watermark, img, watermark).save(out_file, ‘JPEG‘)

FONT = ‘C:/Windows/fonts/Arial.ttf‘
add_watermark(‘dog.jpg‘,‘python‘,font=FONT)

效果图:

相关资料:

https://pillow.readthedocs.io/en/latest/handbook/tutorial.html

http://pillow-cn.readthedocs.io/zh_CN/latest/handbook/tutorial.html

时间: 2024-10-08 03:13:15

图像处理PILLOW的使用的相关文章

Python图像处理-Pillow

什么是验证码? 验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers and Humans Apart"(全自动区分计算机和人类的图灵测试)的缩写.是一种用来区分用户是计算机还是人的公共全自动程序. 验证码的作用认证码是一种人机识别手段,最终目的是区分正常用户和机器的操作.可以防止:恶意破解密码.注册.刷票.论坛灌水,防止黑客对用户的密码进行暴力破解.一般是提出一个问题,这个问题可以由计算机生成并

图像处理pillow模块

pillow模块: -->基本的图像处理模块 Pip install pillow from PIL import Image #1.读取图片 im = Image.open('/test.jpg') # 读取图片 im.show() # 展示 im.save("save.gif","GIF") #保存图像为gif格式(必须指定图片格式) #2.创建图片 Image.new(mode,size) Image.new(mode,size,color) newIm

图像识别的前期工作——使用pillow进行图像处理

pillow是个很好用的python图像处理库,可以到官方网站下载最新的文件.如果官网的任何PIL版本都不能与自己的python版本对应,或安装成功后发现运行出错,可以尝试从一个非官方的whl网站下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy  这个网站的内容相当丰富,而且版本齐全. 打开图片 from PIL import Image import matplotlib.pyplot as plt img = Image.open('gi

Python图像处理库:Pillow 初级教程

2014-09-14 翻译 http://pillow.readthedocs.org/en/latest/handbook/tutorial.html Pillow由PIL而来,所以该导入该库使用import PIL 本文相关的代码:https://github.com/445141126/pillow_example Image类 Pillow中最重要的类就是Image,该类存在于同名的模块中.可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片. 使用Ima

图像处理模块pillow

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow. 安装Pillow 在命令行下直接通过pip安装: $ pip install pillow 如果遇到Permission denied安装

python 图像处理(从安装Pillow开始)

python2.x及以下用的是PIL(图像处理库是 PIL(Python Image Library)),最新版本是 1.1.7  可在http://www.pythonware.com/products/pil/index.htm 下载和学习. 不过从该网站可看出它不支持python3.x Pillow由PIL而来(支持3.x),所以该导入该库使用import PIL 由于本人用的是python 3.4 所以下载的Pillow 关于下载第三方库,有三种方法,之前用的都是 第一种方法 1 下载第

图像处理标准库pillow

pillow模块 PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow. 安装pillow pycharm安装 命令行安装 Python中引入 from PIL import Image #生成

Python图像处理库Pillow常用使用方法

PIL(Python Imaging Library)是Python一个强大方便的图像处理库,只支持到Python2.7.Pillow是PIL的一个派生分支,在Python3标准库中用Pillow代替PIL.Pillow官网:https://pillow.readthedocs.io/en/latest/handbook/index.html 下面是使用例子,用法可见代码注释. from PIL import Image,ImageFilter,ImageGrab,ImageDraw,Image

图像处理基本工具——Python 环境下的 Pillow( PIL )

由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境下,对图像的处理笔者主要使用 Pillow 库,主要操作包括对图像的读取.存储和变换等.实际应用中,Pillow 中提供的 Image 模块适合对图像整体进行变换处理操作. 注:以下介绍仅包括对应模块和函数的基础用法,故而在介绍时省略了部分参数和选项,更完备的用法和介绍可参考 Pillow 的官方文