吴裕雄 python 神经网络——TensorFlow 图像处理函数

Posted tszr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吴裕雄 python 神经网络——TensorFlow 图像处理函数相关的知识,希望对你有一定的参考价值。

import numpy as np
import tensorflow as tf 
import matplotlib.pyplot as plt

image_raw_data = tf.gfile.FastGFile("F:\\\\TensorFlowGoogle\\\\201806-github\\\\datasets\\\\cat.jpg",rb).read()

with tf.Session() as sess:
    img_data = tf.image.decode_jpeg(image_raw_data)
    # 输出解码之后的三维矩阵。
    print(img_data.eval())
    img_data.set_shape([1797, 2673, 3])
    print(img_data.get_shape())

技术图片

with tf.Session() as sess:
    plt.imshow(img_data.eval())
    plt.show()

技术图片

with tf.Session() as sess:
    # 如果直接以0-255范围的整数数据输入resize_images,那么输出将是0-255之间的实数,
    # 不利于后续处理。本书建议在调整图片大小前,先将图片转为0-1范围的实数。
    image_float = tf.image.convert_image_dtype(img_data, tf.float32)
    resized = tf.image.resize_images(image_float, [300, 300], method=0)
    plt.imshow(resized.eval())
    plt.show()

技术图片

with tf.Session() as sess:    
    croped = tf.image.resize_image_with_crop_or_pad(img_data, 1000, 1000)
    padded = tf.image.resize_image_with_crop_or_pad(img_data, 3000, 3000)
    plt.imshow(croped.eval())
    plt.show()
    plt.imshow(padded.eval())
    plt.show()

技术图片

with tf.Session() as sess:   
    central_cropped = tf.image.central_crop(img_data, 0.5)
    plt.imshow(central_cropped.eval())
    plt.show()

技术图片

with tf.Session() as sess: 
    # 上下翻转
    #flipped1 = tf.image.flip_up_down(img_data)
    # 左右翻转
    #flipped2 = tf.image.flip_left_right(img_data)
    
    #对角线翻转
    transposed = tf.image.transpose_image(img_data)
    plt.imshow(transposed.eval())
    plt.show()
    
    # 以一定概率上下翻转图片。
    #flipped = tf.image.random_flip_up_down(img_data)
    # 以一定概率左右翻转图片。
    #flipped = tf.image.random_flip_left_right(img_data)

技术图片

 

以上是关于吴裕雄 python 神经网络——TensorFlow 图像处理函数的主要内容,如果未能解决你的问题,请参考以下文章

吴裕雄 python 神经网络——TensorFlow 输入文件队列

吴裕雄 python 机器学习——人工神经网络感知机学习算法的应用

吴裕雄 python 神经网络——TensorFlow 队列操作

吴裕雄 python 神经网络——TensorFlow 数据集高层操作

吴裕雄 python 神经网络——TensorFlow pb文件保存方法

吴裕雄 python 神经网络——TensorFlow 多线程队列操作