金天牛

导航

python图像处理

Python常用处理图像的库是PIL,另外还有opencv、Matplotlib、NumPy、SciPy、skimage 详情请参考:https://www.cnblogs.com/qiaozhoulin/p/4509954.html、  https://www.cnblogs.com/skyfsm/p/8276501.html

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用,但其只支持Python 2.7,在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x

1.缩放篇

Image.resize()函数用于修改图片的尺寸;Image.thumbnail()函数用于制作当前图片的缩略图。from PIL import Image

img01= Image.open('F:/pytest/101.jpeg')
img01.show()
w01,h01=img01.size # 获得图像尺寸:
print('current image01 size:%sX%s'%(w01,h01))

img01.thumbnail((w01//2,h01//2)) # 缩放到50%:
img01.save('F:/pytest/102.jpeg','jpeg') # 缩放后保存为102.jpeg
img02=Image.open('F:/pytest/102.jpeg')
img02.show()
w02,h02=img02.size # 获得图像尺寸:
print('current image02 size:%sX%s'%(w02,h02))

#print('resized size',img01.resize((128,128)).size)
img03 = img01.resize((128,128)) #t图像修改尺寸为128*128
img03.save('F:/pytest/103.jpeg','jpeg')
img03.show()
w03,h03=img03.size # 获得图像尺寸:
print('current image03 size:%sX%s'%(w03,h03))

2.旋转篇

图像的旋转使用成员函数rotate(),在入参中直接指定按逆时针旋转的角度即可
img04= img01.rotate(45)  #逆时针旋转45度
img04.show()
3.翻转篇
图像的翻转使用transpose()成员函数,直接在入参中指定变换方式即可,不仅支持上下、左右翻转;也支持逆时针90、180、270等角度的旋转,效果与rotate()相同。
img05=img01.transpose(Image.FLIP_TOP_BOTTOM)   #上下翻转
img06=img01.transpose(Image.FLIP_LEFT_RIGHT) #左右翻转
img07=img01.transpose(Image.ROTATE_90) #逆时针翻转90度
img08=img01.transpose(Image.ROTATE_270) #逆时针翻转270度
img05.show()
img06.show()
img07.show()
img08.show()

posted on 2019-07-25 20:33  金天牛  阅读(302)  评论(0编辑  收藏  举报