Tensorflow图像处理相关操作
#对图像的处理import matplotlib.pyplot as plt
import tensorflow as tf#读取图像的原始数据
image_raw_data=tf.gfile.FastGFile("./path/to/picture/timg.jpg",'rb').read()with tf.Session() as sess:#将图像用jpeg格式解码从而得到图像对应的三维矩阵,Tensorflow 还提供了tf.image_decode_png 函数对png格式的图像#机械性解码。解码之后的结果为一个张量img_data=tf.image.decode_jpeg(image_raw_data)print(img_data.eval())#使用pyplot工具可视化得到的图像plt.imshow(img_data.eval())#plt.show()#将数据的类型转化为实数,方便下面的程序进行处理img_data=tf.image.convert_image_dtype(img_data,dtype=tf.float32)#通过tf.image.resize_images函数调整图像的大小,method是调整的算法,0:双线性差值 1:最近邻居法 2:双3次差值法 3:面积差值法resized=tf.image.resize_images(img_data,[300,300],method=0)#输出图像的大小print(resized.get_shape())plt.imshow(resized.eval())#plt.show()#将表示一张图片的三维矩阵重新按照jpeg的格式编码存入文件中encode_image=tf.image.encode_jpeg(img_data)with tf.gfile.GFile('./path/to/picture/timg_output.jpg','wb') as f:f.write(encode_image.eval())#截取部分图像,从中间截取,如果截取的面积大于原图像,则填充0croped=tf.image.resize_image_with_crop_or_pad(img_data,1000,1000)plt.imshow(croped.eval())plt.show()#按照比例裁剪图像central_croped=tf.image.central_crop(img_data,0.5)plt.imshow(central_croped.eval())plt.show()#图像翻转#将图像上下翻转flipped=tf.image.flip_up_down(img_data)#将图像左右翻转flipped=tf.image.random_flip_left_right(img_data)#将图像沿对角线翻转transposed=tf.image.transpose_image(img_data)#将图像随机进行翻转flipped=tf.image.random_flip_left_right(img_data)flipped=tf.image.random_flip_up_down(img_data) #随机进行上下翻转#图像的色彩调整#调整图像的亮度、对比度、饱和度和色相#将图像的亮度-0.5adjusted=tf.image.adjust_brightness(img_data,-0.5)#在[-max_delta,max_delta]内随机调整图像的亮度adjusted=tf.image.random_brightness(img_data,0.5)#图像的对比度-5adjusted=tf.image.adjust_contrast(img_data,-5)#在[lower,upper]范围内随机调整图的对比度adjusted=tf.image.random_contrast(img_data,2,7)#调整图像的色相adjusted=tf.image.adjust_hue(img_data,0.3)#在[-maxdelta,maxdelta]范围内随机调整图像的色相 maxdelat 在0-0.5的范围内adjusted=tf.image.random_hue(img_data,0.4)#调整图像的饱和度adjusted=tf.image.adjust_saturation(img_data,5)#在[lower,upper]范围内随机调整图像的饱和度adjusted=tf.image.random_saturation(img_data,1,10)#tensorflow还提供了图像的准净化过程,将图像的数字均值变为0,方差变为1adjusted=tf.image.per_image_standardization(img_data)#许多的图像需要关注的物体可以使用标注框标注出来#tf.image.draw_bounding_boxes函数要求处理图像的矩阵是实数,输入是一个batch数据,多张图像组成的四维矩阵,所以需要将解码后的图像增加一个维度batched=tf.expand_dims(img_data,0)#下面都是相对的位置boxes=tf.constant([[[0.05,0.05,0.7,0.9],[0.2,0.3,0.9,0.8]]])result=tf.image.draw_bounding_boxes(batched,boxes)plt.imshow(result[0].eval())plt.show()
参考:https://blog.csdn.net/u012033832/article/details/78951978
Tensorflow图像处理相关操作相关推荐
- 【Tensorflow】io 操作
文章首发于微信公众号<有三AI> [从caffe到Tensorflow 1]io 操作 最近项目要频繁用到tensorflow,所以不得不认真研究下tensorflow而不是跟之前一样遇到 ...
- Tensorflow图像处理以及数据读取
本文完整代码在 https://github.com/jiemojiemo/Tensorflow_Demo/blob/master/image_loader.ipynb Tensorflow图像处理以 ...
- 数字图像处理——形态学操作(二值图像篇)
形态学操作 内容简介 1. 预备知识--结构元 2. 形态学基本操作 2.1 腐蚀和膨胀 2.2 开操作与闭操作 2.3 击中和击不中变换(hit and miss transform) 3. 基本的 ...
- 2021年大数据HBase(五):HBase的相关操作JavaAPI方式
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-JavaAPI方式 一.需求说明 ...
- 2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-客户端命令式 1.进入HBase ...
- 2021年大数据Spark(二十五):SparkSQL的RDD、DF、DS相关操作
目录 RDD.DF.DS相关操作 SparkSQL初体验 SparkSession 应用入口 获取DataFrame/DataSet 使用样例类 指定类型+列名 自定义Schema ...
- 【数据结构】二叉树及其相关操作
二叉树的定义 二叉树是一个由结点构成的有限集合,这个集合或者为空,或者由一个根节点及两棵互不相交的分别称作这个根节点的左子树和右子树的二叉树组成. 二叉树并非一般的树形结构的特殊形式,它们是两种不同的 ...
- Linux之用户组相关操作 groupadd groupdel
Linux之用户组相关操作 groupadd groupdel 1. 创建用户组 命令 说明 groupadd 创建(添加)用户组 创建用户组效果图: [grep是搜索功能,详情博文:https: ...
- Linux之用户相关操作
Linux之用户相关操作 1. 创建用户 [创建后会立即让设置密码] 命令 说明 useradd 创建(添加)用户 useradd命令选项: 选项 说明 -m 自动创建用户主目录,主目录的名字就是用 ...
最新文章
- 【原创】谈谈线上CPU100%排查套路
- 卷积神经网络的网络结构——以LeNet-5为例
- 仿射变换 c语言,c语言数字图像处理(三):仿射变换
- c++ 虚函数的实现机制
- Java可变引用,Java – 对可变对象的易失性引用 – 对对象的字段的更新对所有线程都是可见的...
- react-native全局变量和静态变量使用
- MemCache对PHP页面的缓存加速优化
- DOS批处理删除文本文件重复的行
- Java jdk下载及安装
- 计算机网络基础应用课程标准,王建波《计算机网络基础》课程标准.doc
- Qt播放常见视频格式的方法
- oracle的odac dll,.NET2.0中施用最少的ODAC动态库文件连接Oracle数据库
- Springer LNCS Latex 模板 无法下载
- elasticsearch 支持拼音检索
- 0基础如何自学软件编程开发
- JAVA第二次作业《胖瘦程度计算》
- 你对国外问卷调查有多少了解?
- STM32F407ZGT6|定时器中断
- kernel 3.10代码分析--KVM相关--虚拟机运行
- pqc的中文全称_品质部门 一次看懂IQC / IPQC / PQC / FQC / OQC!