数据增强-亮度-对比度-色彩饱和度-色调-锐度 不改变图像大小

https://www.cnblogs.com/yanghailin/p/11106480.html
  • # coding=utf-8

  • import os

  • import os

  • import cv2

  • import math

  • import numpy as np

  • from PIL import Image

  • from PIL import ImageEnhance

  •  
  • """

  • 1、对比度:白色画面(最亮时)下的亮度除以黑色画面(最暗时)下的亮度;

  • 2、色彩饱和度::彩度除以明度,指色彩的鲜艳程度,也称色彩的纯度;

  • 3、色调:向负方向调节会显现红色,正方向调节则增加黄色。适合对肤色对象进行微调;

  • 4、锐度:是反映图像平面清晰度和图像边缘锐利程度的一个指标。

  • """

  •  
  •  
  • def compute(img):

  • per_image_Rmean = []

  • per_image_Gmean = []

  • per_image_Bmean = []

  • per_image_Bmean.append(np.mean(img[:, :, 0]))

  • per_image_Gmean.append(np.mean(img[:, :, 1]))

  • per_image_Rmean.append(np.mean(img[:, :, 2]))

  • R_mean = np.mean(per_image_Rmean)

  • G_mean = np.mean(per_image_Gmean)

  • B_mean = np.mean(per_image_Bmean)

  • return math.sqrt(0.241 * (R_mean ** 2) + 0.691 * (G_mean ** 2) + 0.068 * (B_mean ** 2))

  •  
  •  
  • def fun_color(image, coefficient, path_save):

  • # 色度,增强因子为1.0是原始图像

  • # 色度增强 1.5

  • # 色度减弱 0.8

  • enh_col = ImageEnhance.Color(image)

  • image_colored1 = enh_col.enhance(coefficient)

  • image_colored1.save(path_save)

  •  
  •  
  • def fun_Contrast(image, coefficient, path_save):

  • # 对比度,增强因子为1.0是原始图片

  • # 对比度增强 1.5

  • # 对比度减弱 0.8

  • enh_con = ImageEnhance.Contrast(image)

  • image_contrasted1 = enh_con.enhance(coefficient)

  • image_contrasted1.save(path_save)

  •  
  • def fun_Sharpness(image, coefficient, path_save):

  • # 锐度,增强因子为1.0是原始图片

  • # 锐度增强 3

  • # 锐度减弱 0.8

  • enh_sha = ImageEnhance.Sharpness(image)

  • image_sharped1 = enh_sha.enhance(coefficient)

  • image_sharped1.save(path_save)

  •  
  • def fun_bright(image, coefficient, path_save):

  • # 变亮 1.5

  • # 变暗 0.8

  • # 亮度增强,增强因子为0.0将产生黑色图像; 为1.0将保持原始图像。

  • enh_bri = ImageEnhance.Brightness(image)

  • image_brightened1 = enh_bri.enhance(coefficient)

  • image_brightened1.save(path_save)

  •  
  • def show_all():

  • file_root = "/media/data_1/data/images/"

  • save_root = "/media/py/save/"

  • list_file = os.listdir(file_root)

  • cnt = 0

  • for img_name in list_file:

  • cnt += 1

  • print("cnt=%d,img_name=%s" % (cnt, img_name))

  • path = file_root + img_name

  • name = img_name.replace(".jpg", "")

  • image = Image.open(path)

  • list_coe = [0.5,1,3]

  • for val in list_coe:

  • path_save_bright = save_root + name + "_bri_" + str(val) + ".jpg"

  • fun_bright(image, val, path_save_bright)

  •  
  • path_save_color = save_root + name + "_color_" + str(val) + ".jpg"

  • fun_color(image, val, path_save_color)

  •  
  • path_save_contra = save_root + name + "_contra_" + str(val) + ".jpg"

  • fun_Contrast(image, val, path_save_contra)

  •  
  • path_save_sharp = save_root + name + "_sharp_" + str(val) + ".jpg"

  • fun_Sharpness(image, val, path_save_sharp)

  •  
  •  
  • def my_aug():

  • file_root = "/media/data_1/data/images/"

  • save_root = "/media/data_2/ret/img_aug/"

  • list_file = os.listdir(file_root)

  • cnt = 0

  • for img_name in list_file:

  • cnt += 1

  • print("cnt=%d,img_name=%s" % (cnt, img_name))

  • path = file_root + img_name

  • name = img_name.replace(".jpg", "")

  • image = Image.open(path)

  • img = cv2.imread(path)

  • mean_1 = compute(img)

  • cof = 0.0

  • if mean_1 < 40:

  • cof = 3.5

  • elif mean_1 < 60:

  • cof = 3

  • elif mean_1 < 80:

  • cof = 2

  • elif mean_1 < 90:

  • cof = 1.5

  • elif mean_1 < 110:

  • cof = 1.1

  • elif mean_1 > 130:

  • cof = 0.5

  • else:

  • cof = 0.75

  •  
  • cof_contrast = 0.0

  • if cof>1:

  • cof_contrast = 1.5

  • else:

  • cof_contrast = 0.8

  •  
  • path_save_bright = save_root + name + "_bri_" + str(cof) + '.jpg'

  • fun_bright(image, cof, path_save_bright)

  • path_save_sharp = save_root + name + "_sharp_" + str(2) + '.jpg'

  • fun_Sharpness(image, 2, path_save_sharp)

  • path_save_contra = save_root + name + "_contra_" + str(cof_contrast) + ".jpg"

  • fun_Contrast(image, cof_contrast, path_save_contra)

  • path_save_color = save_root + name + "_color_" + str(1.5) + ".jpg"

  • fun_color(image, 1.5, path_save_color)

  •  
  •  
  • if __name__ == "__main__":

  •  
  • #show_all()

  • my_aug()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像增强是一种常见的图像处理技术,可以通过调整图像饱和度对比度锐度等参数,使图像更加清晰、生动、具有良好的视觉效果。下面是增强图像饱和度对比度锐度的意义: 1. 增强图像饱和度 图像饱和度是指图像中颜色的纯度和鲜艳度,适当提高图像饱和度可以让图像更加鲜艳明亮、生动有趣。例如,在广告、宣传等领域,提高图像饱和度可以吸引消费者的眼球,加强观众的视觉效果。 2. 增强图像对比度 图像对比度是指图像中最亮部分和最暗部分之间的差异程度,适当提高图像对比度可以让图像更加清晰、立体、具有层次感。例如,在医学影像、安防监控等领域,提高图像对比度可以更加清晰地捕捉目标物体,使得图像更加易于分析和识别。 3. 增强图像锐度 图像锐度是指图像中的边缘和细节的清晰程度,适当提高图像锐度可以让图像更加清晰、细腻、具有良好的细节表现能力。例如,在摄影、艺术设计等领域,提高图像锐度可以强调图像的主题,表达更加丰富的艺术表现力。 综上所述,增强图像饱和度对比度锐度等参数可以使图像更加清晰、生动、具有良好的视觉效果。这些技术在广告、宣传、医学影像、安防监控、摄影、艺术设计等领域都有广泛的应用。因此,图像增强技术对于提升图像质量、增强图像的表现力具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值