使用TensorFlow对图像进行随机旋转的实现示例


Posted in Python onJanuary 20, 2020

在使用深度学习对图像进行训练时,对图像进行随机旋转有助于提升模型泛化能力。然而之前在做旋转等预处理工作时,都是先对图像进行旋转后保存到本地,然后再输入模型进行训练,这样的过程会增加工作量,如果图片数量较多,生成旋转的图像会占用更多的空间。直接在训练过程中便对图像进行随机旋转,可有效提升工作效率节省硬盘空间。

使用TensorFlow对图像进行随机旋转如下:

TensorFlow版本为1.13.1

#-*- coding:utf-8 -*-
'''
  使用TensorFlow进行图像的随机旋转示例
'''
 
import tensorflow as tf
import numpy as np
import cv2
import matplotlib.pyplot as plt
 
 
img = cv2.imread('tf.jpg')
img = cv2.resize(img,(220,220))
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
 
def tf_rotate(input_image, min_angle = -np.pi/2, max_angle = np.pi/2):
  '''
  TensorFlow对图像进行随机旋转
  :param input_image: 图像输入
  :param min_angle: 最小旋转角度
  :param max_angle: 最大旋转角度
  :return: 旋转后的图像
  '''
  distorted_image = tf.expand_dims(input_image, 0)
  random_angles = tf.random.uniform(shape=(tf.shape(distorted_image)[0],), minval = min_angle , maxval = max_angle)
  distorted_image = tf.contrib.image.transform(
    distorted_image,
    tf.contrib.image.angles_to_projective_transforms(
      random_angles, tf.cast(tf.shape(distorted_image)[1], tf.float32), tf.cast(tf.shape(distorted_image)[2], tf.float32)
    ))
  rotate_image = tf.squeeze(distorted_image, [0])
  return rotate_image
 
global_init = tf.global_variables_initializer()
with tf.Session() as sess:
  init = tf.initialize_local_variables()
  sess.run([init, global_init])
  coord = tf.train.Coordinator()
  threads = tf.train.start_queue_runners(coord=coord)
  image = tf.placeholder(shape=(220, 220, 3), dtype=tf.float32)
 
  rotate_image = tf_rotate(image, -np.pi/2, np.pi/2)
  output = sess.run(rotate_image, feed_dict={image:img})
  # print('output:',output)
  plt.imshow(output.astype('uint8'))
  plt.title('rotate image')
  plt.show()

结果如下:

原图:

使用TensorFlow对图像进行随机旋转的实现示例

随机旋转后的图:

使用TensorFlow对图像进行随机旋转的实现示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的一个p2p文件传输实例
Jun 04 Python
Python常用的日期时间处理方法示例
Feb 08 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
Python导入模块时遇到的错误分析
Aug 30 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
详解python中__name__的意义以及作用
Aug 07 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 Python
Python中Numpy和Matplotlib的基本使用指南
Nov 02 Python
Python tensorflow卷积神经Inception V3网络结构
May 06 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 #Python
python各层级目录下import方法代码实例
Jan 20 #Python
Python 识别12306图片验证码物品的实现示例
Jan 20 #Python
如何基于python实现归一化处理
Jan 20 #Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 #Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 #Python
python如何通过pyqt5实现进度条
Jan 20 #Python
You might like
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
开业庆典答谢词
2014/01/18 职场文书
校本教研工作制度
2014/01/22 职场文书
食品安全检查制度
2014/02/03 职场文书
法制报告会主持词
2014/04/02 职场文书
戒赌保证书
2015/05/11 职场文书
任命书格式范文
2015/09/22 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
2016年父亲节寄语
2015/12/04 职场文书
小学三年级作文之写景
2019/11/05 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏