什么是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函数
为滤镜函数,可以匹配不同的滤镜模式,如模糊,边界效果等等。
原图:
通过滤镜模糊模式:
通过滤镜边界模式:
下面利用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读者可以查看手册。这些第三方库用到的时候再具体学习即可。
我的公众号,谢谢关注:
什么是python的第三方库_python学习(十九)常见的第三方库相关推荐
- python dataframe 新列_Python第二十四课:Pandas库(四)
Python第二十四课:Pandas库(四)点击上方"蓝字",关注我们. 不知不觉,我们已经跨越了千难万险,从零开始,一步步揭开了Python神秘的面纱.学到至今,回过头,才晓得自 ...
- python异步io 队列_python 学习笔记九 队列,异步IO
queue (队列) 队列是为线程安全使用的. 1.先入先出 import queue #测试定义类传入队列class Foo(object): def __init__(self,n): self. ...
- QML学习十九:ttf字体库使用
若该文为原创文章,转载请注明原文出处 一.前言 在使用QML时,常常自定义按钮,按钮上有显示个图标,其实,那不是图标,是文本,如何显示? 本篇记录,如何导入阿里巴巴字体库,并调用显示. 二.阿里巴巴字 ...
- [Python从零到壹] 五十九.图像增强及运算篇之图像锐化Scharr、Canny、LOG实现边缘检测
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- [Python从零到壹] 三十九.图像处理基础篇之图像几何变换(镜像仿射透视)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- [Python从零到壹] 四十九.图像增强及运算篇之顶帽运算和底帽运算
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- PyTorch框架学习十九——模型加载与保存
PyTorch框架学习十九--模型加载与保存 一.序列化与反序列化 二.PyTorch中的序列化与反序列化 1.torch.save 2.torch.load 三.模型的保存 1.方法一:保存整个Mo ...
- python海龟绘图画玫瑰花_python学习(二)之turtle库绘图
今天是三月七号,也就是女生节,或者女神节.不知道你是不是有自己喜欢的女孩子,在这里你可以用turtle库绘制一朵玫瑰花,送给你喜欢的姑娘.(拉到最后有惊喜哦)但在画这朵玫瑰花之前,先来一个基础的图形, ...
- python用法查询笔记_Python学习笔记 - 2 - PyCharm的基本使用
什么是IDE 开始学习的小白同学,一看到这三个字母应该是懵逼的,那么我们一点一点来说. 既然学习Python语言我们就需要写代码,那么代码写在哪里呢?在记事本里写 在word文档里写 在sublime ...
最新文章
- Java中的6颗语法糖
- 图论算法(六)-- 二分图的最大分配问题(JAVA)
- linux 文件格式压缩
- Maven-pon.xml模板(ssm自用)持续更新
- matlab图像的空域滤波增强处理,matlab 数字图像的空域滤波代码
- AI工程师的薪资高得逆天: 2020年,是入坑的最好时机!
- 一个大神的文章如何在没有OPENCV的电脑上跑你的程序调用的opencv程序
- glibc静态链接 libc.a(nsswitch.o)(.data+0x64):undefined reference to `_nss_files_getaliasent_r' 错误解决方法
- PDF格式分析(六)PDF版本
- 编译原理(九)——递归下降法
- 用Python讲述:地理“经纬度”数据的4种转换方法!
- java中gc是什么_深入理解Java GC
- 装了xmapp还需要装mysql吗_安装xamp之后,appach、mysql等问题的总结
- win7虚拟机_虚拟机VMware 15安装教程
- 「环卫吸粪车」天河区抽化粪池抽泥浆抽污水来了,解决黑臭水体!
- 【电商】电商后台设计—购物车
- JQuery修改对象的属性值
- 基于SSM+mysql+mybatis+js+html+css实现电子产品在线商城系统,商品管理后台
- LAMP - 学习/实践
- 借助新电商平台,湖北荷塘三宝直达全国餐桌
热门文章
- Jerry答网友提问:SAP CRM WebClient UI里的EXT,STRUCT等含义
- What is the usage of getMasterKeyAttributes in configuration.js
- Change code to ensure that OPA5 work also in WebIDE
- What does SAP UI5 bindItem occurs
- error occurred when trying to upload ui5 project to ABAP repository in win8
- Opportunity在Fiori cloud system上编辑之后超时的根源分析
- 关于CRM WebClient UI缓存清理的讨论
- Font support in Adobe form
- SAP IBASE Category 01和03的区别
- SAP CRM呼叫中心里的Java stack