TensorFlow 图像预处理(二) 图像翻转,图像色彩调整

图像翻转 tf.image.flip_up_down:上下翻转 tf.image.flip_left_right:左右翻转 tf.image.transpose_image:对角线翻转 除此之外,TensorFlow还提供了随机翻转的函数,保证了样本的样本的随机性: tf.image.random_flip_up_down:随机上下翻转图片 tf.image.random_flip_left_right:随机左右翻转图片

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np

image_raw_data = tf.gfile.FastGFile('.//image//1.jpg','rb').read()

with tf.Session() as sess:
     img_data = tf.image.decode_jpeg(image_raw_data)
     plt.imshow(img_data.eval())
     plt.show()

     # 上下翻转
     flipped1 = tf.image.flip_up_down(img_data)
     plt.imshow(flipped1.eval())
     plt.show()
     # 左右翻转
     flipped2 = tf.image.flip_left_right(img_data)
     plt.imshow(flipped2.eval())
     plt.show()
     #对角线翻转
     transposed = tf.image.transpose_image(img_data)
     plt.imshow(transposed.eval())
     plt.show()

     # 以一定概率上下翻转图片。
     #flipped = tf.image.random_flip_up_down(img_data)
     # 以一定概率左右翻转图片。
     #flipped = tf.image.random_flip_left_right(img_data)

图像色彩调整 亮度: tf.image.adjust_brightness:调整图片亮度 tf.image.random_brightness:在某范围随机调整图片亮度 对比度: tf.image.adjust_contrast:调整图片对比度 tf.image.random_contrast:在某范围随机调整图片对比度 色相: tf.image.adjust_hue:调整图片色相 tf.image.random_hue:在某范围随机调整图片色相 饱和度: tf.image.adjust_saturation:调整图片饱和度 tf.image.random_saturation:在某范围随机调整图片饱和度 归一化: per_image_whitening:三维矩阵中的数字均值变为0,方差变为1。

import matplotlib.pyplot as plt
import tensorflow as tf

image_raw_data = tf.gfile.FastGFile('.//image//1.jpg','rb').read()

with tf.Session() as sess:
     img_data = tf.image.decode_jpeg(image_raw_data)
     plt.imshow(img_data.eval())
     plt.show()

     # 将图片的亮度-0.5。
     adjusted = tf.image.adjust_brightness(img_data, -0.5)
     plt.imshow(adjusted.eval())
     plt.show()

     # 将图片的亮度0.5
     adjusted = tf.image.adjust_brightness(img_data, 0.5)
     plt.imshow(adjusted.eval())
     plt.show()
     # 在[-max_delta, max_delta)的范围随机调整图片的亮度。
     adjusted = tf.image.random_brightness(img_data, max_delta=0.5)
     plt.imshow(adjusted.eval())
     plt.show()
     # 将图片的对比度-5
     adjusted = tf.image.adjust_contrast(img_data, -5)
     plt.imshow(adjusted.eval())
     plt.show()
     # 将图片的对比度+5
     adjusted = tf.image.adjust_contrast(img_data, 5)
     plt.imshow(adjusted.eval())
     plt.show()
     # 在[lower, upper]的范围随机调整图的对比度。
     adjusted = tf.image.random_contrast(img_data, 0.1, 0.6)
     plt.imshow(adjusted.eval())
     plt.show()

     #调整图片的色相
     adjusted = tf.image.adjust_hue(img_data, 0.1)
     plt.imshow(adjusted.eval())
     plt.show()

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


     # 将图片的饱和度-5。
     adjusted = tf.image.adjust_saturation(img_data, -5)
     plt.imshow(adjusted.eval())
     plt.show()  


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

     # 将代表一张图片的三维矩阵中的数字均值变为0,方差变为1。
     adjusted = tf.image.per_image_whitening(img_data)

图片有点多,不贴图了,大家运行一下就能看到效果了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习与计算机视觉

Object Detection系列(三) Fast R-CNN

Object Detection系列(一) R-CNN Object Detection系列(二) SPP-Net Object Detectio...

3315
来自专栏深度学习与计算机视觉

TensorFlow 图像处理和解码操作函数概述

TensorFlow提供提供了42个图像处理相关的函数,主要涉及解码编码,简单的图像几何变换等等。比较有特点的一个方面是有很多随机性的操作,主要增加模型的泛化能...

2835
来自专栏null的专栏

简单易学的机器学习算法——神经网络之BP神经网络

一、BP神经网络的概念     BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神...

3354
来自专栏ATYUN订阅号

使用Keras集成卷积神经网络的入门级教程

在统计学和机器学习中,组合使用多种学习算法往往比单独的任何的学习算法更能获得好的预测性能。与统计力学中的统计集成不同(通常是无穷大),机器学习的集成由具体的有限...

2655
来自专栏Brian

深度学习笔记-深度学习实战

1896
来自专栏磐创AI技术团队的专栏

一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)

一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇) 反向传播算法(BackpropagationAlgorithm,简称BP算法)是深度学习的重要思想...

3634
来自专栏SnailTyan

Very Deep Convolutional Networks for Large-Scale Image Recognition—VGG论文翻译—中英文对照

Very Deep Convolutional Networks for Large-Scale Image Recognition ABSTRACT In t...

2370
来自专栏机器学习和数学

[深度学习] AlexNet,GoogLeNet,VGG,ResNet简化版

总结了一下这几个网络的比较重要的点,像这些经典的网络,面试的时候,估计会经常问到,怎么用自己的话说出来?不知道大家想过没有。 今天有空就总结了一下,尽量简单和通...

4669
来自专栏算法channel

机器学习逻辑回归:算法兑现为python代码

0 回顾 昨天推送了逻辑回归的基本原理:从逻辑回归的目标任务,到二分类模型的构建,再到如何用梯度下降求出二分类模型的权重参数。今天,我们将对这个算法兑现为代码...

3325
来自专栏深度学习计算机视觉

机器学习Adaboost算法

相关背景概念 一个概念如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么,这个概念是强可学习的; 一个概念如果存在一个多项式的学习算法能够学习...

2275

扫码关注云+社区