Tensorflow图像处理
Tensorflow图像处理主要包括:调整尺寸,图像翻转,调整色彩,处理标注框。
代码如下:
#coding=utf-8
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np image_raw_data = tf.gfile.FastGFile('cat.jpg','rb').read() with tf.Session() as sess:
img_data = tf.image.decode_jpeg(image_raw_data)
plt.subplot(331)
plt.title("Original") plt.imshow(img_data.eval())
#plt.show() resized = tf.image.resize_images(img_data, [100, 100], method=0)
# TensorFlow的函数处理图片后存储的数据是float32格式的,需要转换成uint8才能正确打印图片。
print("Digital type: ", resized.dtype)
resized = np.asarray(resized.eval(), dtype='uint8')
# tf.image.convert_image_dtype(rgb_image, tf.float32)
plt.subplot(332)
plt.title("100*100")
plt.imshow(resized) #plt.show() croped = tf.image.resize_image_with_crop_or_pad(img_data, 500, 500)
padded = tf.image.resize_image_with_crop_or_pad(img_data, 1500, 1500)
plt.subplot(333)
plt.title("500*500")
plt.imshow(croped.eval())
# plt.show()
plt.subplot(334)
plt.title("1500*1500")
plt.imshow(padded.eval())
#plt.show() central_cropped = tf.image.central_crop(img_data, 0.5)
plt.subplot(335)
plt.title("*0.5")
plt.imshow(central_cropped.eval())
# plt.show() # 上下翻转
flipped1 = tf.image.flip_up_down(img_data)
plt.subplot(336)
plt.title("up-down")
plt.imshow(flipped1.eval())
#plt.show()
# 左右翻转
flipped2 = tf.image.flip_left_right(img_data)
plt.subplot(337)
plt.title("left-right")
plt.imshow(flipped2.eval())
#plt.show()
# 对角线翻转
transposed = tf.image.transpose_image(img_data)
plt.subplot(338)
plt.title("transpose")
plt.imshow(transposed.eval())
# plt.show() flipped3 = tf.image.random_flip_up_down(img_data)
plt.subplot(339)
plt.title("flip-up-down")
plt.imshow(flipped3.eval())
plt.show()
#————————————————————————————————————————————#
# 将图片的亮度-0.5。
adjusted = tf.image.adjust_brightness(img_data, -0.5)
plt.subplot(331)
plt.imshow(adjusted.eval()) plt.title("bright-0.5")
#plt.show() # 将图片的亮度0.5
adjusted = tf.image.adjust_brightness(img_data, 0.5)
plt.subplot(332)
plt.imshow(adjusted.eval()) plt.title("bright+0.5")
#plt.show()
# 在[-max_delta, max_delta)的范围随机调整图片的亮度。
adjusted = tf.image.random_brightness(img_data, max_delta=0.5)
plt.subplot(333)
plt.imshow(adjusted.eval()) plt.title("bright-random")
#plt.show()
# 将图片的对比度-5
adjusted = tf.image.adjust_contrast(img_data, -5)
plt.subplot(334)
plt.imshow(adjusted.eval())
plt.title("contrast-5")
#plt.show()
# 将图片的对比度+5
adjusted = tf.image.adjust_contrast(img_data, 5)
plt.subplot(335)
plt.imshow(adjusted.eval()) plt.title("contrast+5")
#plt.show()
# 在[lower, upper]的范围随机调整图的对比度。
adjusted = tf.image.random_contrast(img_data, 0.1, 0.6)
plt.subplot(336)
plt.imshow(adjusted.eval())
plt.title("contrast-random")
#plt.show() # 调整图片的色相
adjusted = tf.image.adjust_hue(img_data, 0.1)
plt.subplot(337)
plt.imshow(adjusted.eval())
plt.title("hue_0.1")
#plt.show() # 在[-max_delta, max_delta]的范围随机调整图片的色相。max_delta的取值在[0, 0.5]之间。
adjusted = tf.image.random_hue(img_data, 0.5)
plt.subplot(338)
plt.imshow(adjusted.eval())
plt.title("hue-random_0.5")
#plt.show() # 将图片的饱和度-5。
adjusted = tf.image.adjust_saturation(img_data, -2)
plt.subplot(339)
plt.title("saturation-2")
plt.imshow(adjusted.eval())
plt.show() # 在[lower, upper]的范围随机调整图的饱和度。
#adjusted = tf.image.random_saturation(img_data, 0, 5) # 将代表一张图片的三维矩阵中的数字均值变为0,方差变为1。
#adjusted = tf.image.per_image_standardization(img_data)
效果图:


Tensorflow图像处理的更多相关文章
- TensorFlow图像处理API
TensorFlow提供了一些常用的图像处理接口,可以让我们方便的对图像数据进行操作,以下首先给出一段显示原始图片的代码,然后在此基础上,实践TensorFlow的不同API. 显示原始图片 impo ...
- [tensorflow]图像处理相关模块的安装(python3中PIL)
直接上过程图(平台为Anaconda): 默认已经配置完了tensorflow的3.5的环境 我这里已经安装完成 接下来,就可以在python文件中引入模块了 from PIL import Imag ...
- TensorFlow图像处理函数
参考书 <TensorFlow:实战Google深度学习框架>(第2版) 图像编码处理+图像大小调整+图像翻转+图像色彩调整+处理标注框 #!/usr/bin/env python # - ...
- tensorflow图像处理函数(1)
1.tensorflow中对jpeg格式图像的编码/解码函数: import matplotlib.pyplot as plt import tensorflow as tf image_raw_da ...
- 吴裕雄 python 神经网络——TensorFlow 图像处理函数
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt image_raw_data = tf.gfile ...
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:TensorFlow图像处理函数
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt #读取图片 image_raw_data = tf ...
- Tensorflow图像处理以及数据读取
关于tensoflow的图像的处理,看到了一篇文章,个人觉得不错.https://blog.csdn.net/weiwei9363/article/details/79917942
- TensorFlow深度学习实战---图像数据处理
图像的亮度.对比度等属性对图像的影响非常大,这些因素都会影响最后的识别结构.当然,复杂的预处理过程可能会导致训练效率的下降(利用TensorFlow中多线程处理输入数据的解决方案). 同一不同的原始数 ...
- ubuntu远程桌面
用Linux已经有很长一段时间,但主要用于嵌入式开发(用交叉工具链进行版本编译),所以用命令行就可以了,而且敲的最多的命令就是make.最近开始搭建TensorFlow的开发环境,大部分工作都是命令行 ...
随机推荐
- Luogu P1726 上白泽慧音
这显然是一道求强连通分量(SCC)的题目. 只要你正常,都知道应该写Tarjan. 然后(假装会写Tarjan),其实我当然不会.但是求SCC还有另一个算法.复杂度和Tarjan一样,只不过常数大了点 ...
- Kubernetes学习之路(二十五)之Helm程序包管理器
目录 1.Helm的概念和架构 2.部署Helm (1)下载helm (2)部署Tiller 3.helm的使用 4.chart 目录结构 5.chart模板 6.定制安装MySQL chart (1 ...
- TMS320VC5509驱动AT24C02
1. 刚开始的波形不太对,比如如下代码 i2c_status = I2C_write( at24c02_write_buf, //pointer to data array , //length of ...
- Java设计模式-建造者(Builder)模式
目录 由来 使用 1. 定义抽象 Builder 2. 定义具体 Builder类 3. 定义具体 Director类 4. 测试 定义 文字定义 结构图 优点 举例 @ 最近在看Mybatis的源码 ...
- [转]JVM系列三:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...
- centos7 lldb 调试netcore应用的内存泄漏和死循环示例(dump文件调试)
写个demo来玩一玩linux平台下使用lldb加载sos来调试netcore应用. 当然,在真实的产线环境中需要分析的数据和难度远远高于demo所示,所以demo的作用也仅仅只能起到介绍工具的作用. ...
- AHD/TVI/CVI/CVBS/IP
1.CVBS是最早的模拟摄像机,现在看来效果差. 2.AHD TVI CVI都是模拟摄像机的升级版,俗称同轴,三种名称只是用的方案系统不一样而已,相比模拟的效果清晰,和模拟的外观都是一样的bn ...
- 代理神器allproxy
背景 allproxy意为all as proxy,即是说所有设备均可以成为一个网络代理,唯一的要求就是有网络访问权限. 一般的代理软件要求宿主机必须有公网地址,然后才能把网络代理出去,但在实际情况下 ...
- Alpha 贡献分及转会人员确定
贡献分如下: 转会人员:金东禾 转到队伍:bugphobia
- 《linux内核》课本第五章读书笔记