题目要求:
这里我们首先需要下载Image库:
PIL(即Python Imaging Library)是 Python 中最常用的图像处理库,Image 类是 PIL 库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓取的方法得到的图像这三种方法。
1. 首先需要导入需要的图像库:
from PIL import Image
2. 读取一张图片:
img=Image.open("224.jpg")
3. 显示一张图片:
im.show()
4. 保存图片:
img.save("2245.jpg")
5. 图片裁剪:
box=(100,100,200,200)注:对角线
#设置要裁剪的区域
region=im.crop(box)#此时,region是一个新的图像对象。注:对角线
6. 图像黏贴(合并)
img.paste(region,(150,150))#粘贴box大小的region到(150,150)处。
7.查看图像信息:
im.format, im.size, im.mode
处理前后对比:
完成之后作业里还有一个三基色融合的要求,基于PIL Image模块提取RGB并取平均值。
这里用到了如下的代码并且和数组、循环方面知识,RGB的值设为一维数组,通过im.getpixel得到图片全部像素位置的值,并求平均值再写入img.putpixel:
注:
1. 获取某个像素位置的值:
im.getpixel((4,4))
2. 写某个像素位置的值:
img.putpixel((4,4),(255,0,0))
处理后对比:
从左到右依次为原图,剪切粘贴图,融合图。
写在最后:
代码可能会有冗余,本人也是接触不久,小白随便写写,勿喷,这是老师最近的Python公选课布置的作业。
封面图是妖尾动漫里的
艾露莎·舒卡勒托,图片使用PS里的剪贴蒙板制作。
领取专属 10元无门槛券
私享最新 技术干货