|
贬值的不仅仅是人民币,知识也贬值的厉害:
以前图像处理是一学期的课程,现在也就几分钟,外加几次上机实验。现在也就几分钟,复制粘贴运行一次完事。
刚才有人提到壁纸,我还真想做个壁纸软件。于是翻出图像处理的基础代码复习了一下。。。看看会不会烂尾。
- from PIL import Image,ImageOps,ImageFilter,ImageEnhance
- import cv2
- import numpy as np
- import matplotlib.pyplot as plt
- import matplotlib # 显示中文:https://blog.csdn.net/qq_41857385/article/details/131645943
- font = {'family' : 'Microsoft YaHei','weight' : 'bold'}
- matplotlib.rc("font",**font)
- img = Image.open('lena800x800.jpg') # 也可以 img = Image.open('lena800x800.jpg').convert('RGBA')
- width, height = img.size
- padding = (100,100,100,100) # left_pad, top_pad, right_pad, bottom_pad
- img1 = ImageOps.expand(img, padding) # 1000x1000
- degree = -20 # 45=逆时针45度 CCW , -20 =顺时针20度
- img2 = img1.rotate(degree) # 1000x1000
- area = (300, 300, 700, 700) #(左,上,右,下)
- img3 = img2.crop(area) # 400x400
- img4 = img.convert('1') # 灰度 PIL有九种不同模式: 1,L,P,RGB,RGBA,CMYK,YCbCr,I,F
- img5 = img.convert('L')
- img_RGBA = img.convert('RGBA')
- layer = Image.new('RGBA', img.size, (0,0,0,120)) # 创建一个与图片大小相同的透明图层,最后这个是半透明值 https://www.python100.com/html/LI88B2A3NW39.html
- img6 = Image.alpha_composite(img_RGBA, layer)
- img7 = img.filter(ImageFilter.GaussianBlur(radius=15)) # 高斯模糊
- img8 = img.filter(ImageFilter.BoxBlur(radius=15)) # 均值模糊
- img9 = ImageEnhance.Contrast(img).enhance(2) # 对比度增强
- img10 = ImageEnhance.Sharpness(img).enhance(20) # 锐化
- img11 = ImageEnhance.Brightness(img).enhance(1.3) # 亮度: 1 不变,0-1之间变暗,1以上变亮
- fig = plt.figure()
- fig.set_size_inches(12,9)
- fig.set_facecolor('darkcyan')
- fig.canvas.manager.window.wm_geometry('+300+20')
- # 添加子图
- plt.subplot(3,4,12,facecolor='yellow')
- plt.axis('off')
- plt.title('img 原图',color='red')
- plt.imshow(img)
- plt.subplot(3,4,1)
- plt.axis('off')
- plt.title('img1 扩边',color='red')
- plt.imshow(img1)
- plt.subplot(3,4,2)
- plt.axis('off')
- plt.title('img2 旋转',color='red')
- plt.imshow(img2)
- plt.subplot(3,4,3)
- plt.axis('off')
- plt.title('img3 裁切',color='red')
- plt.imshow(img3)
- plt.subplot(3,4,4)
- plt.axis('off')
- plt.title('img4 黑白',color='red')
- plt.imshow(img4)
- plt.subplot(3,4,5)
- plt.axis('off')
- plt.title('img5 灰度',color='red')
- plt.imshow(img5)
- plt.subplot(3,4,6)
- plt.axis('off')
- plt.title('img6 半透明',color='red')
- plt.imshow(img6)
- plt.subplot(3,4,7)
- plt.axis('off')
- plt.title('img7 高斯',color='red')
- plt.imshow(img7)
- plt.subplot(3,4,8)
- plt.axis('off')
- plt.title('img8 均值',color='red')
- plt.imshow(img8)
- plt.subplot(3,4,9)
- plt.axis('off')
- plt.title('img9 对比度',color='red')
- plt.imshow(img9)
- plt.subplot(3,4,10)
- plt.axis('off')
- plt.title('img10 锐化',color='red')
- plt.imshow(img10)
- plt.subplot(3,4,11)
- plt.axis('off')
- plt.title('img11 亮度',color='red')
- plt.imshow(img11)
- #img3.save('cropped.jpg')
- #fig.savefig('fig.png')
- plt.show()
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|