TensorFlow图像处理函数(最近更新:2019/10/24)

〇、写在前面

TensorFlow中图像处理函数基本都是在tf.image中,有不了解的可以私信或查找官方文档。
参考资料:

  1. 深度学习应用开发,浙江大学城市学院,网易云课堂

一、获取图像数据

1.1 读取编码数据

  1. tf.gfile.FastGFile('path','读写设置')
    如:image_raw_data=tf.gfile.FastGFile('dog.jpg','rb').read()

1.2 解码

  1. tf.image.decode_jpeg(image)
  2. tf.image.decode_png(image)

例子

img_data=tf.image.decode_jpeg(image_raw_data)

1.3 显示图像

print(img_data.eval())

import matplotlib.pyplot as plt
plt.imshow(img_data.eval())
plt.show()

二、图像处理

2.1 图像缩放

  1. tf.image.resize_images(img_data,size,method=0)

img_data:解码后的图像数据。
size:图像缩放到的尺寸,如[256,256]
method:默认0双线性插值法(bilinear),可选1最近邻插值法(nearest_neighbor),可选2双立方插值法(bicubic),可选3像素区域插值法(area)

例子

resized1=tf.image.resize_images(img_data,[256,256],method=0)
resize1=np.asarray(resized1.eval(),dtype='uint8')
plt.imshow(resized1)
plt.show()

2.2 图像裁剪和填充

  1. tf.image.resize_image_with_crop_or_pad(img_data,x,y):裁剪时默认选取居中部分,填充时默认填充在四周填充黑色(0)背景。

x/y:裁剪或填充之后的图像尺寸。

  1. tf.image.random_crop(image_data,size,seed=None,name=None):随机裁剪

2.3 图像翻转

  1. tf.image.flip_left_right(image_data):水平翻转
  2. tf.image.flip_up_down(image_data):垂直翻转

2.4 改变对比度

  1. tf.image.adjust_contrast(image_data,k):固定倍数改变对比度。

k:将对比度变为原来的k倍。

  1. tf.image.random_contrast(image_data,lower=0.2,upper=3):在范围内随机改变对比度

2.5 白化处理

白化即将图像的像素标准正态化。

  1. tf.image.per_image_standardization(img_data)
发布了60 篇原创文章 · 获赞 32 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42297855/article/details/102722979
今日推荐