标签:裁剪 美颜 containe 图像 int 描述 字符 创建 显示
PIL库自我学习总结
PIL有如下几个模块:Image模块、ImageChops模块、ImageCrackCode模块、ImageDraw模块、ImageEnhance模块、ImageFile模块、ImageFileIO模块、ImageFilter模块、ImageFont模块、ImageGrab模块、ImageOps模块、ImagePath模块、ImageSequence模块、ImageStat模块、ImageTk模块、ImageWin模块、PSDraw模块这是一个支持图像存储、显示和处理的函数库,它能够处理几乎所有图像格式,可以完成对图像的缩放、裁剪、叠加以及图像添加条纹,文字等信息等的操作。
首先我们当然学习的是经典的Image子库;
| 方法 | 描述 |
| Image.open(filename) | 根据参数加载图像文件 |
| Image.new(mode,size,color) | 根据给定参数创建一个新的图像 |
| Image.open(StringIO.StringIO(buffer)) | 从字符串中获取图像 |
| Image.frombytes(mode,size,data) | 根据像素点data创建图像 |
| Image.verify() |
对图像文件完整性进行检查,返回异常 |
首先我认识到一个简单的例子:读取下载好的图片并将它可视化(代码如下):
|
1
2
3
|
from PIL import Imageim = Image.open(‘test1.jpg‘) # 读取图片im.show() # 可视化 |
通过使用相关的图片查看器,我们就可以打开自己桌面上图片进行可视化了

2、缩略图
(1)代码如下:
from PIL import Image
im = Image.open("索隆.jpg")
im.thumbnail((128,128))
im.save("索隆1.jpg")
(2)结果展示:

3、改变颜色:
(1)代码如下:
from PIL import Image
im = Image.open("索隆.jpg")
r,g,b = im.split()
om = Image.merge("RGB",(b,g,r))
om.save("索隆2.jpg")
(2)结果展示:

4、获取轮廓:
(1)代码如下:
from PIL import Image
from PIL import ImageFilter
im = Image.open("索隆.jpg")
om = im.filter(ImageFilter.CONTOUR)
om.save("索隆3.jpg")
(2)结果展示:

5、浮雕
(1)代码如下:
from PIL import Image
from PIL import ImageFilter
im = Image.open("索隆.jpg")
om = im.filter(ImageFilter.EMBOSS)
om.save("索隆4.jpg")
(2)结果展示:

美颜开始:
代码如下:
from PIL import Image
from PIL import ImageEnhanceimport cv2import numpy as np# image = Image.open(‘test4.jpg‘)#image.show()def BrightnessEnhancement(brightness): image = Image.open(‘test4.jpg‘) enh_bri = ImageEnhance.Brightness(image)# brightness =1.5 image_brightened = enh_bri.enhance(brightness) image_brightened.show()def ContrastEnhancement(contrast): image = Image.open(‘test4.jpg‘) enh_con = ImageEnhance.Contrast(image)# contrast =1.5 image_contrasted = enh_con.enhance(contrast) image_contrasted.show()def ColorEnhancement(color): image = Image.open(‘test4.jpg‘) enh_col = ImageEnhance.Color(image)# color =0.8 image_colored = enh_col.enhance(color) image_colored.show()def SharpnessEnhancement(sharpness): image = Image.open(‘test4.jpg‘) enh_sha = ImageEnhance.Sharpness(image)# sharpness = 2 image_sharped = enh_sha.enhance(sharpness) image_sharped.show()def Filter(image): image =cv2.imread(‘test4.jpg‘) Remove=cv2.bilateralFilter(image,0,0,10) cv2.imshow(‘filter‘,Remove) cv2.waitKey(0) cv2.destroyAllWindows()# res = np.uint8(np.clip((1.2 * image + 10), 0, 255))# tmp = np.hstack((dst, res))# cv2.imshow(‘bai‘,res)def WhiteBeauty(image,whi): image =cv2.imread(‘test4.jpg‘) white = np.uint8(np.clip((whi * image + 50), 0, 255)) cv2.imshow(‘bai‘,white) cv2.waitKey(0) cv2.destroyAllWindows()if __name__ =="__main__": filepath = ‘test4.jpg‘ #原始图像 brightness = 1.5 contrast = 0.2 color=1.9 sharpness=0.1 BrightnessEnhancement(brightness) ContrastEnhancement(contrast) ColorEnhancement(color) SharpnessEnhancement(sharpness) whi = 1.2 image =cv2.imread(‘test4.jpg‘) Filter(image) WhiteBeauty(image,whi) 

标签:裁剪 美颜 containe 图像 int 描述 字符 创建 显示
原文地址:https://www.cnblogs.com/567823a/p/12687169.html