tensorflow分类图片预处理

在处理深度学习图片分类问题时,训练素材的数量是一个很大的问题,除了疯狂的采集图片,通过对图片预处理的方式,可以提高图片数量,降低训练干扰因素,提高识别确认度。

读取图片,转换为实数后方便后边对图片进行转换处理。

image_raw_data = tf.gfile.FastGFile(temp_path, 'rb').read()
img_data = tf.image.decode_jpeg(image_raw_data)
# 数据类型转换为实数方便程序对图像进行处理
img_data = tf.image.convert_image_dtype(img_data, dtype=tf.float32)
img_data = tf.image.convert_image_dtype(img_data, dtype=tf.uint8)

思路:通过对图片进行翻转、放大、亮度调节、对比度调节、色相调节、饱和度调节、灰度图片,进行训练素材的扩展。减少色差光线等因素对训练结果的影响。

# 左右翻转
flipped = tf.image.flip_left_right(img_data)

 #上下翻转
flipped = tf.image.flip_up_down(img_data)

#调整图像的大小 双线性插值法
resized = tf.image.resize_images(img_data, [720, 1280], method=0)
resized = np.asarray(resized.eval(), dtype='uint8')
adjusted = tf.image.resize_image_with_crop_or_pad(resized,616 , 980)

# 在[-max_delta, max_delta)的范围随机调整图片的亮度。
adjusted = tf.image.random_brightness(img_data, max_delta=0.2)

# 在[lower, upper]的范围随机调整图的对比度。
adjusted = tf.image.random_contrast(img_data, 0.5, 1)

# 在[-max_delta, max_delta]的范围随机调整图片的色相。max_delta的取值在[0, 0.5]之间。
adjusted = tf.image.random_hue(img_data, 0.1)

# 在[lower, upper]的范围随机调整图的饱和度。
adjusted = tf.image.random_saturation(img_data, 0.0, 2.0)

#灰度图片
adjusted = tf.image.rgb_to_grayscale(img_data)

处理后图片为:

原始图片
原始图片
左右反转
左右翻转
放大图片
放大图片
随机调节亮度
亮度随机调节
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值