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)
}

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值