什么是python的第三方库_python学习(十九)常见的第三方库

介绍几个python中常见的第三方库.

Pillow

Pillow简称PIL,是python中常用的图形图像处理模块。写一个简单的例子

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

from PIL import Image, ImageFilter

# 打开一个jpg图像文件,注意是当前路径:

im = Image.open('test.jpg')

#获取图片大小

w,h = im.size

print('Original image size : width:%d height: %d' %(w,h))

#图片缩放

im.thumbnail((w//2, h//2))

print('Resize image to: %dx%d' % (w//2, h//2))

# 把缩放后的图像用jpeg格式保存:

im.save('test2.jpg', 'jpeg')

# 打开一个jpg图像文件,注意是当前路径:

im = Image.open('test.jpg')

# 应用模糊滤镜:

im2 = im.filter(ImageFilter.BLUR)

im2.save('blur.jpg', 'jpeg')

im2 = im.filter(ImageFilter.CONTOUR)

im2.save('contour.jpg','jpeg')

Image.open函数打开一张图片,然后调用thumbnail进行缩放,调用save进行存储。filter函数

为滤镜函数,可以匹配不同的滤镜模式,如模糊,边界效果等等。

原图:

test.jpg

通过滤镜模糊模式:

blur.jpg

通过滤镜边界模式:

contour.jpg

下面利用PIL库实现一个生成验证码的小程序

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

from PIL 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*60

width = 60*4

height = 60

#Image.new(mode, size, color=None)

image = Image.new('RGB',(width,height), (255,255,255))

#创建Font对象

font = ImageFont.truetype('C:\\WINDOWS\\Fonts\\SIMYOU.TTF',36)

# 创建draw对象并和image绑定

#用于以后绘制像素点和文本

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')

chardet检测编码

1

2

3

4

5

6

7

8

9

10

11

import chardet

rs = chardet.detect(b'Hello, world!')

print(rs)

data = '江船火独明'.encode('gb2312')

rs = chardet.detect(data)

print(rs)

data2 = '此情可待成追忆'.encode('utf-8')

rs2 = chardet.detect(data2)

print(rs2)

用chardet可以判断编码方式,在不知道字节是按照什么格式编码时可以采用chardet。

tkinter 制作GUI界面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

from tkinter import *

class Application(Frame):

def __init__(self, master = None):

Frame.__init__(self,master)

self.pack()

self.createWidgets()

def createWidgets(self):

self.helloLabel = Label(self, text='Hello, world!')

self.helloLabel.pack()

self.quitButton = Button(self, text = 'Quit', command=self.quit)

self.quitButton.pack()

app = Application()

# 设置窗口标题:

app.master.title('Hello World')

# 主消息循环:

app.mainloop()

pack()方法是将Widgets对象加载到父容器中。

具体的API读者可以查看手册。这些第三方库用到的时候再具体学习即可。

我的公众号,谢谢关注:

781900-20171229002450788-561193520.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值