TF之p2p:基于TF利用p2p模型部分代码实现提高图像的分辨率

目录

一、tfimage.py文件功能解释

二、process.py添加一个新操作


一、tfimage.py文件功能解释

1、此处的create_op就调用了tf.get_default_session().run()方法,可以将Tensor 操作的函数转变为对Numpy 数组操作的函数,转换后的函数输出为Numpy的数组,而不是Tensor。例如,下面的decode_jpeg和decode_png。

def create_op(func, **placeholders):op = func(**placeholders)def f(**kwargs):feed_dict = {}for argname, argvalue in kwargs.items():placeholder = placeholders[argname]feed_dict[placeholder] = argvaluereturn tf.get_default_session().run(op, feed_dict=feed_dict)return fdecode_jpeg = create_op(func=tf.image.decode_jpeg,contents=tf.placeholder(tf.string),
)decode_png = create_op(func=tf.image.decode_png,contents=tf.placeholder(tf.string),
)

2、tfimage.py里使用decode_jpeg和deco de_png定义了一个load函数。load函数的输入是一个图片文件路径,返回的是numpy. ndarray 形式的图像数据。

def load(path):with open(path, "rb") as f:contents = f.read()_, ext = os.path.splitext(path.lower())if ext == ".jpg":image = decode_jpeg(contents=contents)elif ext == ".png":image = decode_png(contents=contents)else:raise Exception("invalid image suffix")return to_float32(image=image)

3、还利用create_op函数定义了若干函数

rgb_to_grayscale = create_op(func=tf.image.rgb_to_grayscale,images=tf.placeholder(tf.float32),
)……crop = create_op(func=tf.image.crop_to_bounding_box,image=tf.placeholder(tf.float32),offset_height=tf.placeholder(tf.int32, []),offset_width=tf.placeholder(tf.int32, []),target_height=tf.placeholder(tf.int32, []),target_width=tf.placeholder(tf.int32, []),
)pad = create_op(func=tf.image.pad_to_bounding_box,image=tf.placeholder(tf.float32),offset_height=tf.placeholder(tf.int32, []),offset_width=tf.placeholder(tf.int32, []),target_height=tf.placeholder(tf.int32, []),target_width=tf.placeholder(tf.int32, []),
)

二、process.py添加一个新操作

1、process.py 的主处理函数process 使用了上述load 函数读入图片,接着做了一些处理后保存。

def process(src_path, dst_path):src = im.load(src_path)if a.operation == "grayscale":dst = grayscale(src)elif a.operation == "resize":dst = resize(src)elif a.operation == "blank":dst = blank(src)elif a.operation == "combine":dst = combine(src, src_path)elif a.operation == "edges":dst = edges(src)elif a.operation == "blur":dst = blur(src)else:raise Exception("invalid operation")im.save(dst, dst_path)

2、添加新的函数

TF之p2p:基于TF利用p2p模型部分代码实现提高图像的分辨率相关推荐

  1. DL之CycleGAN:基于TF利用CycleGAN模型对apple2orange数据集实现图像转换—训练测试过程全记录

    DL之CycleGAN:基于TF利用CycleGAN模型对apple2orange数据集实现图像转换-训练&测试过程全记录 目录 apple2orange数据集 输出结果 训练&测试过 ...

  2. CV之FD之HOG:图像检测之基于HOG算法、简介、代码实现(计算图像相似度)之详细攻略

    CV之FD之HOG:图像检测之基于HOG算法.简介.代码实现(计算图像相似度)之详细攻略 图像检测之基于HOG算法.简介.代码实现(计算图像相似度)之详细攻略 相关文章:CV之FD之HOG:图像检测之 ...

  3. 基于服务器利用VS调试远程代码

    一.需求 本次想要运行的项目是一个表格识别的任务叫TGRNet,具体的https://github.com/xuewenyuan/TGRNet代码放在服务器上,最初使用docker配置环境,仅仅希望能 ...

  4. Gradient Transfer Optimization Model:基于梯度转移优化模型的红外与可见光图像融合

    目录

  5. 基于Python的图像超分辨率(Image Super Resolution)

    资源下载地址:https://download.csdn.net/download/sheziqiong/85596189 一.业务背景 本实验将使用时深度学习技术对图像进行超分辨率重建,设计到的技术 ...

  6. 【图像超分辨率】基于ResNet或GAN的遥感图像超分辨率论文

    基于ResNet或GAN的遥感图像超分辨率论文 <空间感知残差网络的遥感图像超分辨率重建> 操作: 遥感图像特点: 网络模型: 去掉批处理层的原因: 具体操作 损失方程: <改进的残 ...

  7. DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练、测试(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录

    DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录 目录 测试输出结果 模型监控 训练过程全 ...

  8. NLP之WE之Skip-Gram:基于TF利用Skip-Gram模型实现词嵌入并进行可视化、过程全记录

    NLP之WE之Skip-Gram:基于TF利用Skip-Gram模型实现词嵌入并进行可视化 目录 输出结果 代码设计思路 代码运行过程全记录 输出结果 代码设计思路 代码运行过程全记录 3081 or ...

  9. DL之pix2pix:基于TF利用pix2pix模型对food_resized数据集实现Auto Color自动上色技术—训练测试过程全记录

    DL之pix2pix:基于TF利用pix2pix模型对food_resized数据集实现Auto Color自动上色技术 目录 训练 food_resized数据集展示 TB过程监控 1.SCALAR ...

最新文章

  1. 几种Normalization算法.md
  2. 趣图:老手调试多线程,666
  3. 一条诡异的insert语句
  4. 基于FPGA的BP神经网络的verilog实现
  5. python调用ffmpeg合并_用ffmpeg命令处理mp4剪切与合并
  6. html列表拖拽排序插件,JS拖拽排序插件Sortable.js用法实例分析
  7. hint为什么不显示_英雄联盟手游kda活动为什么没有?kda女团活动在哪里怎么不显示...
  8. 第三届“空间信息网络”学术论坛诚邀您的参加
  9. 10、存储过程、while语句
  10. Java数学工具类MathUtil
  11. The Coding Kata: FizzBuzzWhizz in Modern C++11
  12. 浅入浅出 Android 安全 翻译完成!
  13. AutoCAD 版本历史 版本代号
  14. sdr 软件_将永远改变我们业余无线电爱好的SDR软件定义无线电技术
  15. ActiveSync用蓝牙接口PC与WM6同步
  16. java 类型推断_Java™ 教程(类型推断)
  17. 一文学会 Spring MVC 表单标签
  18. KMP的next迷思
  19. 面向对象的封装,继承,多态。
  20. 实验三 XSS和SQL注入

热门文章

  1. 1-uboot流程——概述
  2. 二线城市IT人员如何发展
  3. 走过路过来看看各种实现跨域的方式~
  4. J2EE下的常用设计模式
  5. iOS之coreData
  6. Viewpager中改变PagerTabStrip的颜色(背景色,指示条颜色,文字颜色)
  7. 微服务业务体系内对复用的深度探讨
  8. 业务代码中,太多 if else 怎么办?
  9. 由 HashMap 引发的一个面试10连炮争吵!
  10. 一文了解自然语言生成演变史!