python - pillow图像处理模块

Pillow图像处理

图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴。PIL (Python Imaging Library)是 Python 中最常用的图像处理库,目前版本为 1.1.7,我们可以 在这里 下载学习和查找资料。Image 类是 PIL 库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓取的方法得到的图像这三种方法
安装
pip install pillow
讲解
from PIL import Image
im = Image.open('1.png') #通过open的方式打开一个图片文件

im.show()  # 使用图片查看器查看图片
im.format  #定义了图像的格式
im.size    #size属性是一个tuple, 表示图像的宽和高
im.mode    #属性为图像的模式, 常用的模式L为灰度图, RGB为真彩色, CMYK为pre-press图像

convert() 是图像实例对象的一个方法,接受一个 mode 参数,用以指定一种色彩模式,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)
filter
from PIL import Image, ImageFilter 
im = Image.open(‘1.png') 
# 高斯模糊 
im.filter(ImageFilter.GaussianBlur) 
# 普通模糊 
im.filter(ImageFilter.BLUR) 
# 边缘增强 
im.filter(ImageFilter.EDGE_ENHANCE) 
# 找到边缘 
im.filter(ImageFilter.FIND_EDGES) 
# 浮雕 
im.filter(ImageFilter.EMBOSS) 
# 轮廓 
im.filter(ImageFilter.CONTOUR) 
# 锐化 
im.filter(ImageFilter.SHARPEN) 
# 平滑 
im.filter(ImageFilter.SMOOTH) 
# 细节 
im.filter(ImageFilter.DETAIL)
查看图像直方图
im.histogram()
转换文件格式
def img2jpg(imgFile):  
   if type(imgFile)==str and imgFile.endswith(('.bmp', '.gif', '.png')):
     with Image.open(imgFile) as im:
       im.convert('RGB').save(imgFile[:-3]+'jpg')  
屏幕截图
from PIL import ImageGrab
im = ImageGrab.grab((0,0,800,200)) # 截取屏幕指定区域的图像
im = ImageGrab.grab() #不带参数表示全屏幕截图
图像裁剪和黏贴
box = (120, 194, 220, 294) #定义裁剪区域 
region = im.crop(box) #裁剪 
region = region.transpose(Image.ROTATE_180) 
im.paste(region,box) #粘贴
图像缩放
im = im.resize((100,100)) #参数表示图像的新尺寸,分别表示宽度和高度
图像对比度增强
from PIL import Image 
from PIL import ImageEnhance 
 
#原始图像 
image = Image.open('lena.jpg') 
image.show() 
 
#亮度增强 
enh_bri = ImageEnhance.Brightness(image) 
brightness = 1.5
image_brightened = enh_bri.enhance(brightness) 
image_brightened.show() 
 
#色度增强 
enh_col = ImageEnhance.Color(image) 
color = 1.5
image_colored = enh_col.enhance(color) 
image_colored.show() 
 
#对比度增强 
enh_con = ImageEnhance.Contrast(image) 
contrast = 1.5
image_contrasted = enh_con.enhance(contrast) 
image_contrasted.show() 
 
#锐度增强 
enh_sha = ImageEnhance.Sharpness(image) 
sharpness = 3.0
image_sharped = enh_sha.enhance(sharpness) 
image_sharped.show()
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值