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 利用pywifi模塊實現(xiàn)連接網絡破解wifi密碼實時監(jiān)控網絡
這篇文章主要介紹了python 利用pywifi模塊實現(xiàn)連接網絡破解wifi密碼實時監(jiān)控網絡,需要的朋友可以參考下2019-09-09
Python實現(xiàn)棧的方法詳解【基于數(shù)組和單鏈表兩種方法】
這篇文章主要介紹了Python實現(xiàn)棧的方法,結合實例形式詳細分析了Python基于數(shù)組和單鏈表兩種方法定義棧的相關操作技巧,需要的朋友可以參考下2020-02-02

