python中PIL常用命令

PIL:Python图像处理类库常用命令

1、open()打开图片

from PIL import Image
pil_im = Image.open('empire.jpg')
"""open打开图片,pil_im 返回是一个PIL图像对象"""

2、convert()图像的颜色转换,L将图像装换为灰度图像

pil_im = Image.open('empire.jpg').convert('L')

3、save()保存图片

from PIL import Image
im = Image.open("E:\mywife.jpg")
im.save("E:\mywife.png")     ## 将"E:\mywife.jpg"保存为"E:\mywife.png"
im = Image.open("E:\mywife.png")  ##打开新的png图片

4、crop()从一副图中剪裁指定区域

box = (50,100,718,924)
region = im.crop(box)
print(region)
region.show()

5、使用.rotate(x)对图像进行旋转(x:图片逆时针旋转的角度)

region=region.rotate(90)    #图像旋转,画布不旋转
region.show()

6、使用.transpose()对图片进行旋转

可传入的参数有:

Image.FLIP_LEFT_RIGHT #图片左右翻转

Image.FLIP_TOP_BOTTOM #图片上下翻转

# region = region.transpose(Image.FLIP_TOP_BOTTOM)
# region = region.transpose(Image.FLIP_LEFT_RIGHT)
# region = region.transpose(Image.ROTATE_90)
# region = region.transpose(Image.ROTATE_180)
region = region.transpose(Image.ROTATE_270)
region.show()
#以上方式画布均跟随旋转

7、使用.paste()对图片进行黏贴合并。粘贴矩形选区时必须保持尺寸一致

region = region.transpose(Image.FLIP_LEFT_RIGHT)
im.paste(region,box)
im.show()

8、resize((width,height))对图像进行大小变换(传入元组)

im = im.resize((400,600)) im.show() 

9、thumbnail() 方法接受一个元组参数(该参数指定生成缩略图的大小),然后将图像转换成符合元组参数指定大小的缩略图。

pil_im.thumbnail((128,128))

10、 blend() 两张图片相加:

Image.blend(img1, img2, alpha)  # 这里alpha表示img1和img2的比例参数

11、point() 点操作 。

im.point(function) #,这个function接受一个参数,且对图片中的每一个点执行这个函数     比如:out = im.point(lambda i : i*1.5)#对每个点进行50%的加强 。

12、图像黏贴(合并)

im.paste(region, box)#粘贴box大小的region到原先的图片对象中。

13、通道分离:

r,g,b = im.split()#分割成三个通道  ,此时r,g,b分别为三个图像对象。 

14、通道合并:

 im = Image.merge("RGB", (b, g, r))#将b,r两个通道进行翻转。 

15、获取某个像素位置的值:

im.getpixel((4,4))

16、写某个像素位置的值:

img.putpixel((4,4),(255,0,0))

17、使用.filter()对图片进行滤镜处理

# image1 = image1.filter(ImageFilter.CONTOUR)
# image1 = image1.filter(ImageFilter.BLUR)
# image1 = image1.filter(ImageFilter.EDGE_ENHANCE)
image1 = image1.filter(ImageFilter.EDGE_ENHANCE_MORE)
image1.save("imgs/6.jpg")
image1.show()

18、 ImageGrab.grab() 实现抓屏

from PIL import ImageGrab
import time
time.sleep(5)
image1 = ImageGrab.grab()	#可传入一个元组表示抓取屏幕的坐标
print(image1.size,image1.mode)
image1.save("imgs/6.jpg")
image1.show()
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值