https://www.jb51.net/article/178934.htm

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

使用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对图像进行随机旋转的实现示例相关推荐

  1. tensorflow 迁移学习_基于 TensorFlow.js 1.5 的迁移学习图像分类器

    在黑胡桃社区的体验案例中,有一个"人工智能教练",它其实是一个自定义的图像分类器.使用 TensorFlow.js 这个强大而灵活的 Javascript 机器学习库可以很轻松地构 ...

  2. 人工智能python3+tensorflow人脸识别_机器学习tensorflow object detection 实现人脸识别...

    object detection是Tensorflow很常用的api,功能强大,很有想象空间,人脸识别,花草识别,物品识别等.下面是我做实验的全过程,使用自己收集的胡歌图片,实现人脸识别,找出胡歌. ...

  3. labimage 怎样旋转图片_大理石旋转楼梯的测量方法,你学会了吗?

    楼梯踏步使用什么材料比较好? 大理石.木材以及瓷砖都是不错的选择 大家可以根据自家的要求和经济条件进行选择 天然大理石花色非常丰富 在做了防护之后,光泽度就更加高端大气 大理石本身不易变形 硬度高,磨 ...

  4. tensorflow http调用_《TensorFlow 内核剖析》笔记——系统架构

    3 系统架构 系统整体组成:Tensorflow的系统结构以C API为界,将整个系统分为前端和后端两个子系统: 前端构造计算图 后端执行计算图,可再细分为: 运行时:提供本地模式和分布式模式 计算层 ...

  5. labimage 怎样旋转图片_隔断墙见多了,头次见能180旋转任意移动,还多出一面墙来储物...

    点击蓝字关注我们 Attention 装修的时候因为户型面积太小,所以就打算把家里能砸的隔断都砸了,可是砸了之后空间虽然大了,但是却没有了隐私性.最近去表姐家参观,发现她家的隔断墙居然是180°可旋转 ...

  6. python 计算过程图片_[Python图像处理]九.图像形态学相关运算

    图像开运算 图像开运算是图像依次经过腐蚀,膨胀处理后的过程.图像被腐蚀后,去除了噪声,但是也压缩了图像:接着对腐蚀过的图像进行膨胀处理,可以去除噪声,并保留原有图像. 开运算=膨胀 图像开运算主要使用 ...

  7. python如何导入背景图片_如何将背景图像添加到pygame?

    这个问题很容易解决.您需要一个与屏幕大小相符的图像作为背景.请记住在游戏开始时添加pygame.init()以便能够启动它和它的能力.这张图片的功能可以像这样使用: class Background( ...

  8. 条纹噪声图片_一种减弱图像竖条纹噪声的方法与流程

    本发明涉及一种去除图像噪声的方法,具体涉及一种减弱图像竖条纹噪声的方法. 背景技术: :图像在形成.采集和传输的过程中,由于各种干扰因素的存在会受到一定程度噪声的干扰,这些干扰恶化了图像的质量,而且会 ...

  9. JAVA的rotate怎么用,java如何利用rotate旋转图片_如何在Java中旋转图形

    I have drawn some Graphics in a JPanel, like circles, rectangles, etc. But I want to draw some Graph ...

最新文章

  1. 对数组中的数字从小到大排序
  2. 熬夜写了一个小游戏,向SpaceX聊表敬意
  3. Go 语言范围(Range)
  4. LNMP一键安装脚本(第二版)
  5. maven依赖包下载地址
  6. 无人银行真来了,未来80%的银行人估计得失业!
  7. opencv 和 parfor
  8. java 泛型 .net_Java泛型
  9. java validate校验_自定义工具类实现validate参数校验
  10. 各种VS Code的学习秘诀,全是这六条法则撑起的!
  11. 计算机导论dos实验报告,计算机导论实验报告-DOS常用命令的使用.doc
  12. 传奇服务器玩家信息备份,传奇:史上5大漏洞,损失惨重,盛大被迫将服务器回档2天...
  13. 用户故事与用户故事地图——互联网平台建设
  14. jvm之可达性分析算法
  15. MMDeteceion之系列一(环境安装、模型测试、训练以及模型后处理工具)
  16. 20222817《Linux内核原理与分析》第五周作业
  17. html打印页眉页脚_HTML5基本元素:页眉,导航和页脚
  18. Oracle触发器(当A表新增/修改/删除时,同步数据到B表)
  19. AspectJ介绍(一)
  20. UltraISO制作的系统U盘详细教程

热门文章

  1. zabbix触发器表达式
  2. 曾国藩:诚敬静谨恒!
  3. why I need a flow learn note.
  4. asp.net 使用my97 datepicker实现前后两个日期的范围界定
  5. 函数实现-aoti-atol
  6. [剑指offer][JAVA]面试题第[46]题[把数字翻译成字符串][递归][逆推]
  7. 拆包--缓冲区查找包头及包尾偏移
  8. mysql 端口time_wait_linux上大量tcp端口处于TIME_WAIT的问题
  9. jquery查找ul属性不是hide,jQuery的ul显示/隐藏功能
  10. 嵌入式linux 时间同步,解决嵌入式Linux中的时区问题