TensorFlow:实战Google深度学习框架,数据增强

2023-11-10

在“TensorFlow:实战Google深度学习框架”一书中,发现一段很好的增强图像数据样本数量的方法,和大家分享下。

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)#对比度
    if color_ordering == 1:
        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)
        image = tf.image.random_brightness(image, max_delta=32. / 255.)
    if color_ordering == 2:
        image = tf.image.random_hue(image, max_delta=0.2)
        image = tf.image.random_contrast(image, lower=0.5, upper=1.5)
        image = tf.image.random_brightness(image, max_delta=32. / 255.)
        image = tf.image.random_saturation(image, lower=0.5, upper=1.5)
    if color_ordering == 3:
        image = tf.image.random_contrast(image, lower=0.5, upper=1.5)
        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)
    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.dytpe != 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(4))
    return distorted_image

image_raw_data = tf.gfile.FastGFile("").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]]])
    result = preprocess_for_train(img_data, 299, 299, boxes)

最后,我也是在持续学习中,如果,哪里有不正确的,或者建议,希望能指出。

祝近安!



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TensorFlow:实战Google深度学习框架,数据增强 的相关文章

  • android 弹出选择框,简单通用弹出选择框

    LinearLayout ll LinearLayout getActivity findViewById R id log sel qyport ll setOnClickListener new View OnClickListener
  • windows输出文件的树状结构

    场景 今天突然看到同事的项目里面有一个文件 类型这样 项目的一个树状图 以前也看见过但是从来没有探究过 今天来看一下 描述 提示 需要windows 系统 其他系统需要安装tree windows系统下 我们可以打开我们的一个项目 在红框内
  • 传奇DBC数据库变量详细解释传奇DB文件详解

    传奇DBC数据DB文件详解 MagicDB MagicDB 是你所修炼的法术和各种技能 1 MagID 技能代号 2 MagName 技能名称 3 Effect Type 效果类型 使用技能时角色的动作效果 4 Effect 效果 技能产生
  • 【C++|排序算法】冒泡、快排、归并、堆排序算法模版

    目录 简介 冒泡排序 快速排序 归并排序 堆排序 结语 简介 Hello 非常感谢您阅读海轰的文章 倘若文中有错误的地方 欢迎您指出 昵称 海轰 标签 程序猿 C 选手 学生 简介 因C语言结识编程 随后转入计算机专业 获得过国家奖学金 有
  • 计算机操作系统--基础篇

    操作系统的演进 多道程序设计 早期批处理系统只能一次处理一个任务 多道程序设计使得批处理系统可以一次处理多个任务 多道程序设计是指在计算机内存中同时存放多个程序 多道程序在计算机的管理程序之下相互穿插运行 多道程序的管理是操作系统的重要功能
  • Security-Onion-Solutions安全洋葱安装方法

    Security Onion Solutions安全洋葱安装方法 securityonion安全洋葱介绍 安全洋葱是一款开源的入侵检测系统 集成了日志分析 流量分析安全告警如 Grafana TheHive Playbook Fleet O
  • 怎么访问服务器网站根目录,如何访问网站根目录

    如何访问网站根目录 内容精选 换一换 根据 互联网信息服务管理办法 非经营性互联网信息服务备案管理办法 等法律法规的规定 国家对经营性互联网信息服务实行许可制度 对非经营性互联网信息服务实行备案制度 未取得许可或者未履行备案手续 不得指向中
  • labview串口,网口,DSC可用OPC通讯链接三菱欧姆龙西门子等PLC

    labview串口 网口 DSC可用OPC通讯链接三菱欧姆龙西门子等PLC 需要的取 可帮助使用 通过NI OPC控制三菱 欧姆龙西门子等各种型号PLC ID 4450645066968702
  • 余光中:书斋·书灾

    本文转载至 http www yuwenonline com Item 1577 aspx 物以类聚 我的朋友大半也是书呆了 很少有朋友约我去户外恋爱春天 大半的时间 我总是与书为伍 大半的时间 总是把自己关在六叠之上 四壁之中 制造氮气
  • 在阿里6年,但今年这情况,劝大家还是多一手准备吧

    大家期待的经济繁荣 没有来 往年的金三银四 跳槽涨薪 也没有来 来了的 是大公司裁员的消息频频爆出 来了的 是ChatGPT 第一批受到影响的人已经失业了 而且你有没有发现 它平时没什么声音 但每次一发布更新 就是一个重磅炸弹 真的 不知道
  • Unity3D独立游戏开发日记(一):动态生成树木

    目前写的独立游戏是一个沙盒类型的游戏 游戏DEMO视频如下 提到沙盒类型的游戏 就有人给出了这样的定义 游戏世界离现实世界越近 自由度 随机度越高才叫沙盒游戏 所谓自由度 就是你在游戏里想干啥就干啥 想开车就开车 想走路就走路 想盖房子就盖
  • QT release版虚拟键盘无反应

    1 在main Cpp 加入 int main int argc char argv qputenv QT IM MODULE QByteArray qtvirtualkeyboard 虚拟键盘调用 QApplication a argc
  • 【定点数运算】定点的乘法和加法

    目录 定点的介绍 定点的优势 定点数的乘法和加法 乘法 加法 定点的介绍 在之前的博客中介绍了定点数和浮点数 想要了解的可以前往以下链接 定点和浮点 定点数与浮点数的解释 定点的优势 使用定点表示有什么优势 为什么不简单地将所有值规范化为整
  • android项目嵌入flutter且解决的问题

    1 在android原生根目录下通过运行命令创建flutter module 这种创建与 flutter new project 内部目录结构不一样 所以直接用命令去创建 2 new Binding 如果标识红色报错 那就看看flutter
  • errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint

    微信access token 在一个地方获取了 同一个公众号其它地方获取的access token 都会失效 就会出现标题中的错误 这个原因可能大家都知道 但是排除的时候可能不好排除 我找了一上午在系统里面 都没有找到 因为自己负责的系统全
  • ReactNative入门(二)——导航和路由

    React Navigation官方文档 https reactnavigation org docs getting started 安装react navigation npm install react navigation nati
  • 临时变量生命期

    有关临时对象的生命周期有三种情况 一般情况 临时性对象的被摧毁 应该是对完整表达式 full expression 求值过程中的最后一个步骤 该完整表达式造成临时对象的产生 以及两个特殊情况 凡含有表达式执行结果的临时性对象 应该存留到ob
  • 网络安全与网站安全及计算机安全:如何使用Kali Linux的Rarcrack获取RAR压缩文件加密密码?

    知识点详解 1 1 Rarcrack是一款获取压缩文件密吗的软件 但是仅支持zip rar和7z三种类型 1 2 在kali操作系统中是没有此工具的 所以就必须先安装才能使用 1 3 安装Rarcrack的指令 apt install ra
  • 测试博客

    在这里插入代码片 TOC Markdown编辑器的使用 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页 如果你想学习如何使用Markdown编辑器 可以仔细阅读这篇文章 了解一下Markdown的基本语法知识 新的改变 我们
  • 【备忘】清理Office缓存

    背景 电脑安装了M365 Apps for enterprise的客户端 遇到不常见的奇怪问题 尝试看清理缓存是否可以解决 清理步骤 1 关闭所有Office365 应用 2 搜索 AppData 并打开该文件夹 3 进到 AppData

随机推荐

  • java开发Demo~×××扫码支付,java开发示例

    开发所需工具类 开发所需jar 具体的代码不贴了 说明下PayConfigUtil中的参数 APP ID和APP SECRET在公众平台 MCH ID和API KEY在商户平台 其中API KEY是自己设置的 并不是自动生成的 Contro
  • element-variables

    Element Chalk Variables Transition all transition all 3s cubic bezier 645 045 355 1 default fade transition opacity 300m
  • Linux——进程退出

    目录 一 进程退出时有三种选择 1 1 echo 命令 功能 打印距离现在最近一次执行某进程的退出码 例2代码 例3 例4代码 1 3 进程运行过程中可能会出现的错误种类 二 总结 一 进程退出时有三种选择 1 使用return 语句 2
  • Python常见的开发工具合集对比

    Python是一种功能强大且易于学习的编程语言 被广泛应用于数据科学 机器学习 Web开发等领域 随着Python在各个领域的应用越来越广泛 越来越多的Python开发工具也涌现出来 但是 对于新手来说 选择一款合适的Python开发工具可
  • 反向电压极性保护电路

    反向电压极性保护电路 原文地址点击这里 电压反接保护 Reverse Voltage Protect RVP 电路主要用在需要直流电压供电电源的输入端 用于防止输入电压极性反接而造成电路系统元器件的损坏 甚至事故 大多数电路系统都需要极性正
  • Xcode8不能在iOS7上调试,Could not find Developer Disk Image的解决方法

    升级完Xcode8之后 默认情况下 是无法进行iOS7的调试的 因为Xcode8里面不再游iOS7的镜像文件 所以会提示 Could not find Developer Disk Image 解决方法如下 打开finder 应用程序 Xc
  • $.ajax()常用参数,JQuery中$.ajax()方法参数详解

    url 要求为String类型的参数 默认为当前页地址 发送请求的地址 type 要求为String类型的参数 请求方式 post或get 默认为get 注意其他http请求方法 例如put和 delete也可以使用 但仅部分浏览器支持 t
  • 1003 Emergency (25分) PAT 甲级

    1003 Emergency 25分 As an emergency rescue team leader of a city you are given a special map of your country The map show
  • UnityAPI:AndroidJavaClass和AndroidJavaObject

    AndroidJavaClass 和 AndroidJavaObject的区别 AndroidJavaClass 构造函数 当Java类构造函数无参数时使用 AndroidJavaObject 构造函数有多个重载 当Java类构造函数有参数
  • 系统端口详解

    Mon Dec 20 05 40 51 2004 UTC This services files is an attempt at collating the various port numbers lists that I ve enc
  • 【整理六】

    1 props和state相同点和不同点 render方法在哪些情况下会执行 props是一个从外部传进组件的参数 由于React具有单向数据流的特性 所以他的主要作用是从父组件向子组件中传递数据 它是不可改变的 如果想要改变它 只能通过外
  • windwos自带端口转发功能

    端口转发配置 netsh interface portproxy add v4tov4 listenport 1526 listenaddress 192 168 10 100 connectport 1522 connectaddress
  • C++基础学习-31成员函数模板,模板显式实例化与声明

    目录 一 普通类的成员函数模板 二 类模板的成员函数模板 三 模板显式实例化与声明 一 普通类的成员函数模板 不管是普通类还是类模板 它的成员函数都可以是个函数模板 成为 成员函数模板 不可以是虚函数 否则编译器会报错 class A pu
  • Nginx反向代理

    Nginx反向代理 一 何为Nginx及其作用 Web服务器 Web服务器是一种软件或计算机程序 用于接收来自客户端的HTTP请求 并提供相应的HTTP响应 它的主要功能是处理和传输Web内容 以便用户可以通过互联网访问和浏览网站 Web服
  • python比较时间

    今天在写爬虫的时候 遇到了需要把从网页上爬取下来的时间进行比较 所以遇到了这个问题 如何比较时间 我一开始是打算把它转换为字符串 然后自己撸一个算法进行诸位比较 后来知道可以将其转为datetime格式 就可以进行比较了 而且还可以做减法求
  • 同义句转换在线翻译器的软件

    英文翻译器在线转换有谷歌翻译 必应翻译 百度翻译 彩云小译 欧路词典 一 谷歌翻译 谷歌翻译作为入门级别的翻译软件 基本上家喻户晓 谷歌浏览器有全网页翻译的内置引擎 翻译上不论是汉译英还是英译汉 基本能符合科研需要 同义句转换在线翻译器的软
  • 链表的维护(家电营业系统)

    读入文件List txt 名称 品牌 价格 数量 phone huawei 2000 000000 35 clothes supreme 900 000000 8 shoes lining 800 000000 10 fan haier 5
  • 一个http请求的详细过程---理解计算机网络

    很久没来这个博客了 仍记得当时开辟这个博客就是为了今年找工作的 转眼间 我已经在寻找工作了 数据结构 网络系统 C C 数据库等等 笔试经常遇到 国庆之前 海辉和阿里巴巴就过来了 还给了面试通知 可惜我没去 国庆之后 从家里过来后 笔试倒是
  • Java架构直通车——Java中单体应用锁的局限性&分布式锁

    文章目录 前言 单体应用锁的局限性 什么是分布式锁 目前存在的分布式的方案 前言 通过之前的并发编程的学习 对JAVA中的锁有了深刻的理解 前面内容中讲到的锁都是有JDK官方提供的锁的解决方案 也就是说这些锁只能在一个JVM进程内有效 我们
  • TensorFlow:实战Google深度学习框架,数据增强

    在 TensorFlow 实战Google深度学习框架 一书中 发现一段很好的增强图像数据样本数量的方法 和大家分享下 import matplotlib pyplot as plt def distort color image colo