1、数据增强 (tensorflow实现)
import tensorflow as tf
from matplotlib import pyplot as plt
import cv2 as cv
import numpy as np
import random
def get_img_from_path(path):
ran = random.randint(0,10)
print(ran)
orgimg = tf.io.read_file(path)
orgimg = tf.image.decode_jpeg(orgimg, channels=3)
orgimg = tf.image.resize(orgimg, [168, 250])
orgimg = tf.cast(orgimg, dtype="uint8")
if ran == 0:
augimg = tf.image.random_flip_left_right(orgimg) #'''随机左右翻转'''
elif ran == 1:
augimg = tf.image.random_flip_up_down(orgimg) #'''随机上下翻转'''
elif ran == 2:
augimg = tf.image.random_hue(orgimg, max_delta=0.4) #'''随机色度'''
elif ran == 3:
augimg = tf.image.random_contrast(orgimg, lower=0.5, upper=1.8) #'''随机对比度'''
elif ran == 4:
augimg = tf.image.random_brightness(orgimg, max_delta=0.2) #'''随机亮度'''
elif ran == 5:
augimg = tf.image.random_saturation(orgimg, lower=0.2, upper=1.8) #'''随机饱和度'''
elif ran == 6:
#'''随机图片质量'''
augimg = tf.image.random_jpeg_quality(orgimg, min_jpeg_quality = 5, max_jpeg_quality = 100 )
else:
augimg = orgimg
return orgimg, augimg
while 1:
orgimg, augimg = get_img_from_path("test.jpg")
cv.imshow("orgimg", orgimg.numpy())
cv.imshow("augimg", augimg.numpy())
key = cv.waitKey(0)
if key == 27 : # ESC退出
break
cv.destroyAllWindows()
ran == 0:(左边原图,右边数据增强后的图)
ran == 1:(左边原图,右边数据增强后的图)
ran == 2:(左边原图,右边数据增强后的图)
ran == 3:(左边原图,右边数据增强后的图)
ran == 4:(左边原图,右边数据增强后的图)
ran == 5:(左边原图,右边数据增强后的图)
ran == 6:(左边原图,右边数据增强后的图)