iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >TensorFlow图像预处理完整样例
  • 952
分享到

TensorFlow图像预处理完整样例

图像完整样例 2023-01-30 23:01:06 952人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

参考书 《Tensorflow:实战Google深度学习框架》(第2版) 以下TensorFlow程序完成了从图像片段截取,到图像大小调整再到图像翻转及色彩调整的整个图像预处理过程。 #!/usr/bin/env python #

参考书

Tensorflow:实战Google深度学习框架》(第2版)

以下TensorFlow程序完成了从图像片段截取,到图像大小调整再到图像翻转及色彩调整的整个图像预处理过程。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# coding=utf-8 

"""
@author: Li Tian
@contact: 694317828@qq.com
@software: PyCharm
@file: figure_deal_test2.py
@time: 2019/1/28 11:39
@desc: 图像预处理完整样例
"""

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


# 给定一张图像,随机调整图像的色彩。因为调整亮度,对比度,饱和度和色相的顺序会影响最后得到的结果。
# 所以可以定义多种不同的顺序。具体使用哪一种顺序可以在训练数据预处理时随机地选择一种。
# 这样可以进一步降低无关因素对模型的影响。
def distort_color(image, color_ordering=0):
    if color_ordering == 0:
        image = tf.image.random_brightness(image, max_delta=32. / 255.)
        image = tf.image.random_saturation(image, lower=0.5, upper=1.5)
        image = tf.image.random_hue(image, max_delta=0.2)
        image = tf.image.random_contrast(image, lower=0.5, upper=1.5)

    elif color_ordering == 1:
        image = tf.image.random_saturation(image, lower=0.5, upper=1.5)
        image = tf.image.random_brightness(image, max_delta=32. / 255.)
        image = tf.image.random_contrast(image, lower=0.5, upper=1.5)
        image = tf.image.random_hue(image, max_delta=0.2)

    elif color_ordering == 2:
        # 还可以定义其他的排列,但是在这里就不再一一列出了。
        # ...
        pass

    return tf.clip_by_value(image, 0.0, 1.0)


# 给定一张解码后的图像、目标图像的尺寸以及图像上的标注框,此函数可以对给出的图像进行预处理。
# 这个函数的输入图像是图像识别问题中原始的训练图像,而输出则是深井网络模型的输入层。注意这里
# 只是处理模型的训练数据,对于预测的数据,一般不需要使用随机变换的步骤。。
def preprocess_for_train(image, height, width, bbox):
    # 如果没有提供标注框,则认为整个图像就是需要关注的部分。
    if bbox is None:
        bbox = tf.constant([0.0, 0.0, 1.0, 1.0], dtype=tf.float32, shape=[1, 1, 4])

    # 转换图像张量的类型。
    if image.dtype != tf.float32:
        image = tf.image.convert_image_dtype(image, dtype=tf.float32)

    # 随机截取图像,减小需要关注的物体大小对图像识别算法的影响。
    bbox_begin, bbox_size, _ = tf.image.sample_distorted_bounding_box(tf.shape(image), bounding_boxes=bbox)
    distorted_image = tf.slice(image, bbox_begin, bbox_size)

    # 将随机截取的图像调整为神经网络层输入层的大小。大小调整的算法是随机选择的。
    distorted_image = tf.image.resize_images(distorted_image, [height, width], method=np.random.randint(4))

    # 随机左右翻转图像。
    distorted_image = tf.image.random_flip_left_right(distorted_image)

    # 使用一种随机的顺序调整图像色彩。
    distorted_image = distort_color(distorted_image, np.random.randint(2))

    return distorted_image


image_raw_data = tf.gfile.FastGFile('F:/python3Space/figuredata_deal/krystal.jpg', "rb").read()
with tf.Session() as sess:
    img_data = tf.image.decode_jpeg(image_raw_data)
    boxes = tf.constant([[[0.05, 0.05, 0.9, 0.7], [0.35, 0.47, 0.5, 0.56]]])

    # 开始绘图
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 步骤一(替换sans-serif字体)
    plt.rcParams['axes.unicode_minus'] = False  # 步骤二(解决坐标轴负数的负号显示问题)
    fig1 = plt.figure(1, (16, 9), dpi=100)

    # 运行6次获得6种不同的图像。
    for i in range(6):
        # 将图像的尺寸调整为299*299.
        ax = plt.subplot(2, 3, i+1)
        ax.set_title('运行第' + str(i+1) + '次的图像')
        result = preprocess_for_train(img_data, 299, 299, boxes)
        plt.imshow(result.eval())

    fig1.subplots_adjust(wspace=0.1)
    # plt.tight_layout()

    plt.savefig('F:/Python3Space/figuredata_deal/图像预处理完整样例.jpg', bbox_inches='tight')

 

 

运行结果:

--结束END--

本文标题: TensorFlow图像预处理完整样例

本文链接: https://www.lsjlt.com/news/181023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • TensorFlow图像预处理完整样例
    参考书 《TensorFlow:实战Google深度学习框架》(第2版) 以下TensorFlow程序完成了从图像片段截取,到图像大小调整再到图像翻转及色彩调整的整个图像预处理过程。 #!/usr/bin/env python #...
    99+
    2023-01-30
    图像 完整 样例
  • tensorflow图像处理的方法是什么
    在TensorFlow中,图像处理的方法通常包括以下步骤: 加载图像数据:使用tf.io模块中的函数来加载图像数据,常见的函数包...
    99+
    2024-03-12
    tensorflow
  • JavaScript图片上传并预览的完整实例
    目录一、前端界面是通过jqgrid展示的二、jqgrid特性三、代码实例1、jqgrid页面展示2、模块页面3、ajax实现异步请求五、效果展示总结一、前端界面是通过jqgrid展示...
    99+
    2024-04-02
  • 【数值预测案例】(3) LSTM 时间序列电量预测,附Tensorflow完整代码
    大家好,今天和各位分享一下如何使用循环神经网络LSTM完成时间序列预测,本文是针对单个特征的预测,下一篇是对多个特征的预测。文末有完整代码 1. 导入工具包 这里使用GPU加速计算,加快网络的训练速度。 import tensorflow...
    99+
    2023-09-02
    python 神经网络 tensorflow 深度学习 LSTM
  • 【数值预测案例】(5) LSTM 时间序列气温数据预测,附TensorFlow完整代码
    大家好,今天和各位分享一下如何使用循环神经网络 LSTM 完成有多个特征的气温预测。上一节中我介绍了 LSTM 的单个特征的预测,感兴趣的可以看一下:https://blog.csdn.net/dgvv4/article/details/1...
    99+
    2023-09-09
    python 深度学习 神经网络 tensorflow LSTM
  • 怎样使用Python图像处理
    这篇文章给大家介绍怎样使用Python图像处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python图像处理是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构,能够简单而有效地实现面...
    99+
    2023-06-17
  • python数字图像处理之对比度与亮度调整示例
    目录skimage包的exposure模块1、gamma调整2、log对数调整3、判断图像对比度是否偏低4、调整强度skimage包的exposure模块 图像亮度与对比度的调整,是...
    99+
    2024-04-02
  • Python图像处理之图像金字塔的向上和向下取样
    目录一.图像金字塔二.图像向下取样三.图像向上取样一.图像金字塔 图像金字塔是指由一组图像且不同分别率的子图集合,它是图像多尺度表达的一种,以多分辨率来解释图像的结构,主要用于图像的...
    99+
    2024-04-02
  • C++ opencv图像处理实现图像腐蚀和膨胀示例
    目录1 概念2 膨胀3 腐蚀1 概念 1.1 腐蚀跟膨胀是最基本的形态学运算 1.2 腐蚀跟膨胀是对图像的白色的部分(亮光部分)进行操作 1.3 腐蚀是对亮光部分进行腐蚀 拥有比原图...
    99+
    2024-04-02
  • pythonPILImage图像处理基本操作实例
    1. 图片加载、灰度图、 显示和保存 from PIL import Image img = Image.open('01.jpg') imgGrey = img.convert(...
    99+
    2024-04-02
  • Pytorch中的图像增广transforms类和预处理方法
    目录1.随机翻转(水平和垂直)2.随机裁剪缩放3.随机修改颜色(颜色抖动)4.将图像转化为张量5.标准化操作6.同时结合多种增广方法1.随机翻转(水平和垂直) torchvision...
    99+
    2023-05-14
    Pytorch图像增广和预处理 Pytorch图像增广transforms类
  • python数字图像处理之图像自动阈值分割示例
    目录引言1、threshold_otsu2、threshold_yen3、threshold_li4、threshold_isodata5、threshold_adaptive引言 ...
    99+
    2024-04-02
  • 基于Python制作图像完美超分处理工具
    目录前言项目说明代码说明总结前言 根据上一篇文章:Python图片视频超分模型RealBasicVSR的使用教程 我把项目进行的工具化调整,做成了对单一照片输入进行处理的工具。大家可...
    99+
    2024-04-02
  • 使用Matlab处理图像的示例分析
    小编给大家分享一下使用Matlab处理图像的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!小伙伴们可能会遇到这样一个情况,填写某些信息的时候不仅需要对图片...
    99+
    2023-06-19
  • python 图像处理——图像分割及经典案例篇之基于颜色的图像分割
    前言 作者在第一部分向大家介绍了图像处理的基础知识,第二部分介绍了图像运算和图像增强,接下来第三部分我们将详细讲解图像分割及图像处理经典案例,该部分属于高阶图像处理知识,能进一步加深我们的理解和实践能...
    99+
    2023-09-04
    图像处理 python 计算机视觉
  • Python中图像量化处理的示例分析
    小编给大家分享一下Python中图像量化处理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.图像量化处理原理量化(Quantization)旨在将图像...
    99+
    2023-06-29
  • C++ opencv图像处理实现图片边缘检测示例
    目录边缘检测简介一、边缘检测步骤二、Canny1.函数2.代码二、Sobel1.函数2.代码三、Scharr1.函数2.代码四、Laplacian1.函数2.代码总结边缘检测简介 边...
    99+
    2024-04-02
  • python数字图像处理像素的访问与裁剪示例
    目录引言彩色图片访问方式为:灰度图片访问方式为:例1:输出小猫图片的G通道中的第20行30列的像素值例2:显示红色单通道图片例3:对小猫图片随机添加椒盐噪声例4:对小猫图片进行裁剪例...
    99+
    2024-04-02
  • C++opencv图像处理实现图片几何变换示例
    目录简介一、图像平移1.图像平移代码 (不改变图像大小)2.图像平移代码 (改变图像大小)二、图像旋转1.图像旋转函数2.仿射变换函数3.代码三、图像缩放1.图像缩放函数2.图像缩小...
    99+
    2024-04-02
  • python opencv图像处理基本操作示例详解
    目录1.图像基本操作①读取图像②显示图像③视频读取④图像截取⑤颜色通道提取及还原⑥边界填充⑦数值计算⑧图像融合2.阈值与平滑处理①设定阈值并对图像处理②图像平滑-均值滤波③图像平滑-...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作