獲取數據+處理

視頻轉換成圖片 

import cv2
from datetime import datetime
 
 
def video_to_frames(path):
    videoCapture = cv2.VideoCapture()
    videoCapture.open(path)
    # 幀率
    fps = videoCapture.get(cv2.CAP_PROP_FPS)
    # 總幀數
    frames = videoCapture.get(cv2.CAP_PROP_FRAME_COUNT)
    print("fps=", int(fps), "frames=", int(frames))
 
    for i in range(int(frames)):
        ret, frame = videoCapture.read()
        cv2.imwrite("E:/train/picture/%d.jpg" % (i), frame)
    return
 
 
if __name__ == '__main__':
    t1 = datetime.now()
    video_to_frames(r"E:\train\video\001.mp4")
    t2 = datetime.now()
    print("Time cost = ", (t2 - t1))
    print("SUCCEED !!!")

 數據增強

from PIL import Image
from PIL import ImageEnhance
import os
import cv2
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
from PIL import Image
from keras.preprocessing import image as imageGenerator
import glob



# imageDir="D:/fphotos/flower_photos/train/roses" #要改變的圖片的路徑文件夾
# E:/flower_world-master/flphotos/train/daisy
imageDir=r"E:\train\old" #要改變的圖片的路徑文件夾
# { 'roses','tulips','dandelion','sunflowers','daisy'}
saveDir=r"E:\train\new"   #數據增強生成圖片的路徑文件夾

def brightnessEnhancement(root_path,img_name):#亮度增強
    image = Image.open(os.path.join(root_path, img_name))
    enh_bri = ImageEnhance.Brightness(image)
    # brightness = 1.1+0.4*np.random.random()#取值範圍1.1-1.5
    brightness = 1.5
    image_brightened = enh_bri.enhance(brightness)
    return image_brightened


def contrastEnhancement(root_path, img_name):  # 對比度增強
    image = Image.open(os.path.join(root_path, img_name))
    enh_con = ImageEnhance.Contrast(image)
    # contrast = 1.1+0.4*np.random.random()#取值範圍1.1-1.5
    contrast = 1.5
    image_contrasted = enh_con.enhance(contrast)
    return image_contrasted

def rotation(root_path, img_name):
    img = Image.open(os.path.join(root_path, img_name))
    random_angle = np.random.randint(-2, 2)*90
    if random_angle==0:
     rotation_img = img.rotate(-90) #旋轉角度
    else:
        rotation_img = img.rotate( random_angle)  # 旋轉角度
    # rotation_img.save(os.path.join(root_path,img_name.split('.')[0] + '_rotation.jpg'))
    return rotation_img

def flip(root_path,img_name):   #翻轉圖像
    img = Image.open(os.path.join(root_path, img_name))
    filp_img = img.transpose(Image.FLIP_LEFT_RIGHT)
    # filp_img.save(os.path.join(root_path,img_name.split('.')[0] + '_flip.jpg'))
    return filp_img

i=0
for name in os.listdir(imageDir):
    i=i+1
    saveName="cesun"+str(i)+".jpg"
    saveImage=contrastEnhancement(imageDir,name)
    saveImage.save(os.path.join(saveDir,saveName))
    saveName1 = "flip" + str(i) + ".jpg"
    saveImage1 = flip(imageDir,name)
    saveImage1.save(os.path.join(saveDir, saveName1))
    saveName2 = "brightnessE" + str(i) + ".jpg"
    saveImage2 = brightnessEnhancement(imageDir, name)
    saveImage2.save(os.path.join(saveDir, saveName2))



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章