Python 模块

每个 .py 文件就相当于是一个模块。

一切都是对象。

模块的创建和使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
__author__ = 'zhanglf'

import sys

def test():
args = sys.argv
if len(args)==1:
print('Hello, %s!' % args[0])
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')

if __name__=='__main__':
test()

关于 Python 中的变量,默认是公开( Pulbic )的。

其中 _xx 或者 __xx 就相当于是加了 private 修饰符的变量。而 __author__ 或者 __name__ 这种变量是特殊变量。

如何使用:

1
2
smilEditdeMBP:practice zhanglf$ python helloworld.py
Hello, helloworld.py!
1
2
3
4
5
>>> import HelloWorld
>>> HelloWorld.test()
Hello, !
>>> HelloWorld.__author__
'zhanglf'

关于 args = sys.argv 第一个参数默认是该文件名称,也就是 helloworld.py

所以当传一个参数进去的时候,默认就是两个参数,因为就输出了第一个:

1
2
smilEditdeMBP:practice zhanglf$ python helloworld.py zhanglf
Hello, zhanglf!

三方模板的使用

使用一个 Python 下很强大的图像处理库 – Python Imaging Library 。

原图:

屏幕快照 2017-05-12 下午5.06.59

安装 Plillow:

pip install Pillow

启飞:

1
2
3
4
5
>>> from PIL import Image
>>> im = Image.open('desktop/img/abc.jpg')
>>> print(im.format,im.size,im.mode)
('JPEG', (2880, 1800), 'RGB')
>>> im.thumbnial((200,100))

屏幕快照 2017-05-12 下午5.06.18

都很好理解, 其中 thumbnial 单词的意思是极小的(做名词是拇指甲)。

也可以按照指定尺寸缩放:

>>> im = im.resize((100,100))

保存:

>>> im.save('desktop/img/thumb.jpg','jpeg')

打开:

>>> im.show()

显示属性:

1
2
>>>print(im.format,im.size,im.mode)
('JPEG', (160, 100), 'RGB')

再来两个比较有意思的:

图片高斯模糊:

1
2
>>> from PIL import ImageFilter
>>> im = im.filter(ImageFilter.GaussianBlur)

屏幕快照 2017-05-12 下午5.10.09

图像冷暖色调调整:

1
2
3
4
5
6
>>> r, g, b = im.split()   #分离图像
>>> r = r.point(lambda i:i*1.3) #红色分量变为原来的1.3倍
>>> g = g.point(lambda i:i*0.9) #绿色分量变为原来的0.9
>>> b = b.point(lambda i:0) #把蓝色分量变为0
>>> im = Image.merge(im.mode,(r,g,b)) #合并图像
>>> im.show()

屏幕快照 2017-05-12 下午5.04.19


参考链接:

廖雪峰的官方网站
Python图像处理模块pillow子模块Image用法精要