博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tensorflow图像处理
阅读量:4932 次
发布时间:2019-06-11

本文共 3777 字,大约阅读时间需要 12 分钟。

Tensorflow图像处理主要包括:调整尺寸,图像翻转,调整色彩,处理标注框。

代码如下:

 

#coding=utf-8import matplotlib.pyplot as pltimport tensorflow as tfimport numpy as npimage_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)

  

效果图:

 

转载于:https://www.cnblogs.com/shanlizi/p/9050536.html

你可能感兴趣的文章
JAVA MAC 配置
查看>>
1134 最长上升子序列 (序列型 DP)
查看>>
js冒泡排序
查看>>
第一次作业 4班卢炳武
查看>>
抽象类的调用
查看>>
使用硬盘,安装双系统,Win7+CentOS
查看>>
Javascript学习总结
查看>>
php 用正则替换中文字符一系列问题解决
查看>>
ActiveMQ应用笔记一:基本概念&安装
查看>>
大话数据结构之四(串)
查看>>
加热炉简是新来的整个系统的板
查看>>
Mockito使用注意事项
查看>>
[LeetCode] Palindrome Linked List 回文链表
查看>>
UVA - 825Walking on the Safe Side(dp)
查看>>
android大概是通过logcat拦截Log
查看>>
关于codeMirror插件使用的一个坑
查看>>
评论:人才流失强力折射出现实畸形人才观
查看>>
git服务器gitlab之搭建和使用--灰常好的git服务器【转】
查看>>
基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否...
查看>>
分享一种需求评审的方案
查看>>