python增加图像对比度的方法
本代码实现的是,在旋转10度的基础上,再进行增加对比度的操作。
1代码:
代码注释中的代码都是可以运行的. 但是不怎么靠谱,因为文件名被逐个编辑,有可能与原标签不对应,,更好的做法参考代码2
#-*-coding:UTF-8-*- fromPILimportImage fromPILimportImageEnhance importPIL.Imageasimg fromPILimportImageEnhance importos defrotationImage(filepath,destpath): count=0 filelist=os.listdir(filepath)#所有文件的文件名 total_num=len(filelist)#所有文件的个数 print(total_num)#输出文件个数 foriinrange(total_num):#对每张图像进行操作 print(count) im=img.open(filepath+str(i+21)+str("_training")+".gif") forjinrange(72): im_rotate=im.rotate(j*10)#每张图像都10°旋转一次 #然后对其增加亮度对比度等操作 enh_con=ImageEnhance.Contrast(im_rotate)#增加对比度得到1440张 image_contrasted=enh_con.enhance(1.5) image_contrasted.save(destpath+str("cont_")+str((j+1)*10)+str("_")+str(i+21)+str("_")+str("manual1")+'.gif') count=count+1 #enh_sha=ImageEnhance.Sharpness(im_rotate)#增加锐度 #image_sharped=enh_sha.enhance(3.0) #image_sharped.save(destpath+str("sharp_")+str((j+1)*10)+str("_")+str(i+21)+str("_")+str("training")+'.tif') #enh_bri=ImageEnhance.Brightness(im_rotate)#增加亮度但是有问题 #image_bright=enh_bri.enhance(1.5) #image_bright.save(destpath+str("bri_")+str((j+1)*10)+str("_")+str(i+21)+str("_")+str("training")+'.tif') #enh_col=ImageEnhance.Color(im_rotate)#增加色度但是有问题, #image_colored=enh_col.enhance(1.5) #image_colored.save(destpath+str("col_")+str((j+1)*10)+str("_")+str(i+21)+str("_")+str("training")+'.tif') j=0 if__name__=='__main__': filepath='/home/qxq/Desktop/eyedata_final/train/label/gif/orginal/' destpath='/home/qxq/Desktop/eyedata_final/train/label/gif/brighten/' rotationImage(filepath,destpath)
2代码:
更加靠谱的做法如下:
#-*-coding:UTF-8-*- fromPILimportImage fromPILimportImageEnhance importos rootdir=r'/home/qxq/Desktop/eyedata_final/mask/original/'#指明被遍历的文件夹 forparent,dirnames,filenamesinos.walk(rootdir): forfilenameinfilenames: currentPath=os.path.join(parent,filename) im=Image.open(currentPath) forjinrange(72): im_rotate=im.rotate(j*10)#每张图像都10°旋转一次 enh_con=ImageEnhance.Contrast(im_rotate)#增加对比度得到1440张(20*72=1440) image_contrasted=enh_con.enhance(1.5) newname1=r"/home/qxq/Desktop/eyedata_final/mask/brighten/"+'Cont_'+filename image_contrasted.save(newname1) enh_sha=ImageEnhance.Sharpness(im_rotate)#增加锐度 image_sharped=enh_sha.enhance(3.0) newname2=r"/home/qxq/Desktop/eyedata_final/mask/brighten/"+'sharp_'+filename image_contrasted.save(newname2) # enh_bri=ImageEnhance.Brightness(im_rotate)#增加亮度但是有问题 image_bright=enh_bri.enhance(1.5) newname3=r"/home/qxq/Desktop/eyedata_final/mask/brighten/"+'Bri_'+filename image_contrasted.save(newname3) # enh_col=ImageEnhance.Color(im_rotate)#增加色度但是有问题, image_colored=enh_col.enhance(1.5) newname4=r"/home/qxq/Desktop/eyedata_final/mask/brighten/"+'Col_'+filename image_contrasted.save(newname4) j=0
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。