zoukankan      html  css  js  c++  java
  • 好玩Python——PIL项目实训(四)——美白磨皮

      1 # 图像基础调整: 图像的亮度、对比度、色度,还可以用于增强图像的锐度,美白
      2 # """
      3 
      4 from PIL import Image
      5 from PIL import ImageEnhance
      6 import cv2
      7 import numpy as np
      8 
      9 
     10 # image = Image.open('14.jpg')
     11 #image.show()
     12 def BrightnessEnhancement(brightness):
     13     # '''
     14     # #亮度增强 :brightness在(0-1)之间,新图像较原图暗,在(1-~)新图像较原图亮 ,
     15     # ##brightness=1,保持原图像不变;可自定义参数范围
     16     # '''
     17     image = Image.open(filepath)
     18     enh_bri = ImageEnhance.Brightness(image)
     19 #    brightness =1.5
     20     image_brightened = enh_bri.enhance(brightness)
     21     image_brightened.show()
     22 
     23 def ContrastEnhancement(contrast):
     24     # '''
     25     # #对比度增强: 可自定义参数contrast范围,contrast=1,保持原图像不变
     26     # '''
     27     image = Image.open(filepath)
     28     enh_con = ImageEnhance.Contrast(image)
     29 #    contrast =1.5
     30     image_contrasted = enh_con.enhance(contrast)
     31     image_contrasted.show()
     32 
     33 def ColorEnhancement(color): 
     34     # '''
     35     # #色度增强 : 饱和度  color=1,保持原图像不变
     36     # '''
     37     image = Image.open(filepath)
     38     enh_col = ImageEnhance.Color(image)
     39 #    color =0.8
     40     image_colored = enh_col.enhance(color)
     41     image_colored.show()
     42 
     43 def SharpnessEnhancement(sharpness):
     44     # '''
     45     # #锐度增强: 清晰度  sharpness=1,保持原图像不变
     46     # '''
     47     image = Image.open(filepath)
     48     enh_sha = ImageEnhance.Sharpness(image)
     49 #    sharpness = 2
     50     image_sharped = enh_sha.enhance(sharpness)
     51     image_sharped.show()
     52 
     53 def Filter(image):
     54     # """
     55     # 色彩窗的半径
     56     # 图像将呈现类似于磨皮的效果
     57     # """
     58     #image:输入图像,可以是Mat类型,
     59     #       图像必须是8位或浮点型单通道、三通道的图像
     60     #0:表示在过滤过程中每个像素邻域的直径范围,一般为0
     61     #后面两个数字:空间高斯函数标准差,灰度值相似性标准差
     62     image =cv2.imread(filepath)
     63     Remove=cv2.bilateralFilter(image,0,0,10)
     64     cv2.imshow('filter',Remove)
     65     cv2.waitKey(0)
     66     cv2.destroyAllWindows()
     67 #    res = np.uint8(np.clip((1.2 * image + 10), 0, 255))
     68 #    tmp = np.hstack((dst, res)) 
     69 #    cv2.imshow('bai',res)
     70 
     71 
     72 def WhiteBeauty(image,whi):
     73     # '''
     74     # 美白
     75     # '''
     76     import cv2
     77 
     78     image =cv2.imread(filepath)
     79     white = np.uint8(np.clip((whi * image + 10), 0, 255))
     80     cv2.imshow('bai',white)
     81     cv2.waitKey(0)
     82     cv2.destroyAllWindows()
     83 
     84 
     85 
     86 if __name__ =="__main__":
     87     filepath = 'D:\python\img\WDC.jpg'
     88     #原始图像
     89     brightness = 1.5
     90     contrast = 0.2
     91     color=1.9
     92     sharpness=0.1
     93     BrightnessEnhancement(brightness)
     94     ContrastEnhancement(contrast)
     95     ColorEnhancement(color)
     96     SharpnessEnhancement(sharpness)
     97     whi = 1.2
     98     image =cv2.imread('D:\python\img\WDC.jpg')
     99     Filter(image)
    100     WhiteBeauty(image,whi)


    原图为:

  • 相关阅读:
    顶目群定义及项目群管理
    项目管理与项目组合管理的不同
    IT项目经理:人际关系技能和领导技能的重要性
    IT 项目经理的职业生涯
    Sharepoint2010 中隐藏 "快速启动"与"最近修改'
    3 个基本的IT项目组合种类
    项目成功的标志及决定因素
    HDL,你们作对了吗?
    JAVA代码编写的30条建议
    八款开源 Android 游戏引擎
  • 原文地址:https://www.cnblogs.com/zzalovelyq/p/12695451.html
Copyright © 2011-2022 走看看