python增加圖像對比度的方法
更新時間:2019年07月12日 08:35:35 作者:qxq_sunshine
這篇文章主要為大家詳細介紹了python增加圖像對比度,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本代碼實現(xiàn)的是,在旋轉10度的基礎上,再進行增加對比度的操作。
1 代碼:
代碼注釋中的代碼都是可以運行的. 但是不怎么靠譜,因為文件名被逐個編輯,有可能與原標簽不對應,,更好的做法參考代碼2
# -*- coding: UTF-8 -*- from PIL import Image from PIL import ImageEnhance import PIL.Image as img from PIL import ImageEnhance import os def rotationImage(filepath,destpath): count = 0 filelist=os.listdir(filepath) #所有文件的文件名 total_num=len(filelist) #所有文件的個數(shù) print(total_num) #輸出文件個數(shù) for i in range(total_num): #對每張圖像進行操作 print(count) im=img.open(filepath+str(i+21)+str("_training")+".gif") for j in range(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 -*- from PIL import Image from PIL import ImageEnhance import os rootdir = r'/home/qxq/Desktop/eyedata_final/mask/original/' # 指明被遍歷的文件夾 for parent, dirnames, filenames in os.walk(rootdir): for filename in filenames: currentPath = os.path.join(parent, filename) im = Image.open(currentPath) for j in range(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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python編碼格式導致csv讀取錯誤問題(csv.reader, pandas.csv_read)
python編碼格式導致csv讀取錯誤問題(csv.reader, pandas.csv_read),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Python使用當前時間、隨機數(shù)產(chǎn)生一個唯一數(shù)字的方法
這篇文章主要介紹了Python使用當前時間、隨機數(shù)產(chǎn)生一個唯一數(shù)字的方法,涉及Python時間與隨機數(shù)相關操作技巧,需要的朋友可以參考下2017-09-09