gradio图像复原界面改进

图像复原界面展示需要输入图像和复原图像在界面的清晰对比,修改两张图像为同样大小。

默认情况:

intreface代码如下:

interface = gr.Interface(fn=restore,  # 要调用的函数inputs=[gr.Image(label="输入图像")],  # 第一个输入,图像类型additional_inputs=[# 下拉菜单输入gr.Radio(choices=degradations2,label="对应退化类型")],outputs=[gr.Image(label="修复后的图像"),  # 第一个输出,图像类型gr.Textbox(label="退化类型为")  # 第二个输出,文本类型],title="基于DA-CLIP的图像修复",  # 界面标题description="上传图片后,选择某种退化类型或者自动检测退化类型。"  # 界面描述, examples=paired_examples
)

尽管同样是gr.Image但是inputs和outputs的图像显示大小不同 

inputs的image的上级div由于包含多一层图标,进行了各种对齐和布局设置显示小于原图。而outputs的image为原图大小。

解决思路修改样式css代码

  1. 修改inputs的image显示为原图大小
  2. 修改outputs的image显示大小与inputs相同

思路1

  • 该方法的问题是原图大小可能过大/过小导致页面不那么美观
  • 优点是对图像去噪、去模糊等复原效果展示更明显有力

结果展示:对于上传的图像占据了整个页面。

修改的代码为:

在环境里的gradio\templates\frontend\assets\ImageUploader-B7bPUstM.css

.image-container.svelte-rrgd5g 注释掉属性align-items: center;

注释后代码:

.image-container.svelte-rrgd5g {display: flex;height: 100%;flex-direction: column;justify-content: center;/*align-items:center;*/max-height: 100%
}

可以页面F12找到对应属性注释后粘贴回本地对应文件 

原文件只有一行且在较末尾的未位置 

F12查找注释对应属性过程图 

思路2 

结果展示:图像在div中水平居中,复原前后图像相同大小适中

比较奇异的点是outputs返回的image父标签div居然是在button下。不过未设置点击事件,只对右上角的下载图标button设置了点击下载。

 

同样修改文件gradio\templates\frontend\assets\ImageUploader-B7bPUstM.css

.image-container.svelte-1l6wqyv img, button.svelte-1l6wqyv

.image-container.svelte-1l6wqyv img,button.svelte-1l6wqyv {width: var(--size-full);height: var(--size-full);object-fit: contain;display: block;border-radius: var(--radius-lg)
}

 原代码使用block布局,修改为flex布局并居中对齐。

修改后代码:

.image-container.svelte-1l6wqyv img,button.svelte-1l6wqyv {width: var(--size-full);height: var(--size-full);object-fit: contain;display: flex;justify-content: center;border-radius: var(--radius-lg)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3018231.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

大数据Scala教程从入门到精通第三篇:Scala和Java的关系

一:Scala和Java的关系 1:详解 一般来说,学 Scala的人,都会 Java,而 Scala 是基于 Java 的,因此我们需要将 Scala和 Java 以及 JVM 之间的关系搞清楚,否则学习 Scala 你会蒙圈 Scala可以使用SDK…

构建 WebRTC 一对一信令服务器

构建 WebRTC 一对一信令服务器 构建 WebRTC 一对一信令服务器前言为什么选择 Nodejs?Nodejs 的基本原理浏览器使用 Nodejs安装 Nodejs 和 NPMsocket.io信令服务器搭建信令服务器客户端服务端启动服务器并测试 总结参考 构建 WebRTC 一对一信令服务器 前言 我们在学…

前后端分离项目中的一些疑惑

1、前后端分离项目,浏览器发起请求后,请求的是前端服务器还是后端服务器? 在前后端分离的项目中,当浏览器发起请求时,它首先会请求的是前端服务器。 前后端分离的工作流程大致如下: 用户在浏览器中输入网…

ws注入js逆向调用函数

这里需要选择一个文件夹 随便 紫色为修改保存 记得ctrls保存 注入代码如下 (function() {var ws new WebSocket("ws://127.0.0.1:8080")ws.onmessage function(evt) {console.log("收到消息:" evt.data);if (evt.data "exit") {…

微生物群落构建(community assembly)

Introduction Zhou, J. & Ning, D. Stochastic Community Assembly: Does It Matter in Microbial Ecology? Microbiol Mol Biol Rev 81, e00002-17 (2017). This review is very comprehensive (1)! 周集中老师实验室的长期研究兴趣集中在从基因组到生态系统…

YOLOv5改进 | 主干篇 | 2024.5全新的移动端网络MobileNetV4改进YOLOv5(含MobileNetV4全部版本改进)

一、本文介绍 本文给大家带来的改进机制是MobileNetV4,其发布时间是2024.5月。MobileNetV4是一种高度优化的神经网络架构,专为移动设备设计。它最新的改动总结主要有两点,采用了通用反向瓶颈(UIB)和针对移动加速器优化…

CSS学习笔记之基础教程(二)

上节内容CSS学习笔记之基础教程&#xff08;一&#xff09; 6、边距 6.1 外边距&#xff1a;margin 6.1.1 外边距 marginmargin-topmargin-leftmargin-bottommargin-right <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

vector介绍与使用【C++】

C vector 前言一、vector的介绍c文档介绍简介 二、vector的定义和使用vector的定义vector代码演示 vector的使用vector iterator 的使用vector 空间增长问题vector 增删查改vector 迭代器失效问题引起底层空间改变eraseg与vs检测比较string迭代器失效 vector 在OJ中的使用只出现…

SEO之高级搜索指令(二)

初创企业需要建站的朋友看这篇文章&#xff0c;谢谢支持&#xff1a; 我给不会敲代码又想搭建网站的人建议 新手上云 &#xff08;接上一篇。。。。&#xff09; 5 、inanchor: inanchor:指令返回的结果是导入链接锚文字中包含搜索词的页面。百度不支持inanchor:。 比如在 Go…

【电路笔记】-Twin-T振荡器

Twin-T振荡器 文章目录 Twin-T振荡器1、概述2、Twin-T振荡器3、Twin-T放大4、Twin-T 振荡器示例5、总结Twin-T 振荡器是另一种 RC 振荡器电路,它使用两个并联的 RC 网络来产生单一频率的正弦输出波形。 1、概述 Twin-T 振荡器是另一种类型的 RC 振荡器,它产生正弦波输出,用…

Angular中创建和使用服务

Angular中的服务 文章目录 Angular中的服务前言一、创建服务二、使用服务 前言 Angular 服务是 Angular 应用程序中用于封装可重用逻辑的类。服务在应用程序的多个组件之间共享数据和功能&#xff0c;而不依赖于应用程序的UI。服务可以用于诸如数据处理、与后端通信、用户身份…

MS2107 宏晶微 音视频采集芯片 提供开发资料

1. 基本介绍 MS2107 是一款视频和音频采集芯片,内部集成 USB2.0 控制器和数据收发模块、视频 ADC模块、音频 ADC 模块和音视频处理模块。MS2107可以将 CVBS、S-Video 和音频信号通过 USB接口传送到 PC、智能手机和平板电脑上预览或采集。MS2107 输出支持 YUV422 和 MJPEG 两种…

Mintegral引领短剧行业新风尚:广告变现策略助力出海应用高效增长

短剧&#xff0c;一颗正在冉冉升起的新星&#xff0c;如今成为了影视行业的新风口。《2023短剧行业研究报告》显示&#xff0c;2023年短剧市场规模达到373.9亿元&#xff0c;同比增长267.65%&#xff0c;预计2024年将超过500亿元。近年来&#xff0c;政策出台、供需促进及应用出…

(1day)致远M3 log 敏感信息泄露漏洞(Session)复现

前言 系统学习web漏洞挖掘以及项目实战也有一段时间了,发现在漏洞挖掘过程中难免会碰到一些历史漏洞,来帮助自己或是提高自己挖洞和及时发现漏洞效率,于是开始创建这个专栏,对第一时间发现的1day以及历史漏洞进行复现,来让自己更加熟悉漏洞类型以及历史漏洞,方便自己在后续的项…

六级段落匹配

一个段落最多匹配2个句子 一个段落对应&#xff1a;0-2 适当放题 找到三个对应点就可以选 每看三个句子划关键词之后再自己回忆一遍关键词&#xff0c;看了36 37 38 就复述一遍关键词看了39 40 41就又从36开始复述关键词&#xff08;334&#xff09;看到最后一句话就又从头…

安装nginx-1.25.5与ngx_http_headers_more_filter_module模块

#下载nginx的代码 curl -O http://nginx.org/download/nginx-1.25.5.tar.gz #下载headers-more-nginx-module代码 git clone https://github.com/openresty/headers-more-nginx-module#解压 tar -xzf nginx-1.25.5.tar.gzcd nginx-1.25.5#--add-dynamic-module 下载下来的目录 …

单向链表的应用

单向链表的应用 链表的概念&#xff0c;基本操作创建节点插入节点 表尾插入链表遍历为什么静态链表很少用传统链表的思考 链表的概念&#xff0c;基本操作 链表是一种物理存储单元上非连续的存储结构&#xff0c;由一系列节点&#xff08;链表中每一个元素称为节点&#xff09…

网络基础-默认网关

默认网关&#xff0c;又称缺省网关&#xff0c;缺省路由器&#xff1b;它是指在一个连接两个不同网络的设备&#xff0c;为网关设备&#xff1b;当主机需要发送数据包到另一个子网或者另一个网络时&#xff0c;它会首先检查目标地址是否在本地子网内&#xff1b;如果不在本地子…

【intro】图注意力网络(GAT)

论文阅读 https://arxiv.org/pdf/1710.10903 abstract GAT&#xff0c;作用于图结构数据&#xff0c;采用masked self-attention layers来弥补之前图卷积或类似图卷积方法的缺点。通过堆叠layers&#xff0c;让节点可以添加其邻居的特征&#xff0c;我们就可以给不同的邻居节…

创建SpringBoot3.X项目(使用IDEA2022创建SpringBoot3.X项目)

创建项目 1.点击New Project&#xff08;新建项目&#xff09; 项目基本信息 项目依赖 修改项目基本信息 1.修改配置文件类型&#xff08;按需调整&#xff09; 一版创建完成的项目都是application.properties配置文件&#xff0c;如果喜欢使用yml的可以直接修改配置文件后…