【webUI】gradio基础使用2——Gallery组件显示多张图片

这篇具有很好参考价值的文章主要介绍了【webUI】gradio基础使用2——Gallery组件显示多张图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:https://www.gradio.app/docs/gallery | 参考代码(老版本,有错误)
gradio基础使用1:https://blog.csdn.net/imwaters/article/details/131400571

gradio gallery demo,# 数据处理与可视化,计算机视觉相关,gradio,webui,显示多个图片,python_ui,UI

说明

基于python的浏览器上多图片显示,是很多复杂程序基本环节,本文写出最简单形式方便大家修改。
应用:例如上传一张图片,经过处理,输出查询结果。
注意官网文档不完善,如果不使用 gradio.Gallery().style() 是无法控制显示图片的布局的
本文 gradio_version 3.34.0

完整代码

# -*- coding: utf-8 -*-
# @Time : 2023/10/12 13:48
# @Author : XyZeng

import os
import gradio as gr

def get_img_lits(img_dir):
        imgs_List=[ os.path.join(img_dir,name) for name in sorted(os.listdir(img_dir)) if  name.endswith(('.png','.jpg','.webp','.tif','.jpeg'))]
        return imgs_List


def input_text(dir):
    img_paths_list=get_img_lits(dir) #  注意传入自定义的web
    # 结果为 list,里面对象可以为
    return img_paths_list

'''
 gr.Gallery()
 必须要使用.style()才能控制图片布局
'''
demo = gr.Interface(
    fn=input_text,
    inputs=gr.inputs.Textbox(default='./dir_show'),
    # inputs=gr.inputs.Image(type="pil"),
    outputs=gr.Gallery(
            label="最终的结果图片").style(height='auto',columns=4),
    title='显示某路径下的所有图片的缩略图23.10.12',
)
if __name__ == "__main__":

    demo.launch()

应用二 显示图片带注释

gradio gallery demo,# 数据处理与可视化,计算机视觉相关,gradio,webui,显示多个图片,python_ui,UI

核心语句
outputs=gr.Gallery(label=“最终的结果图片”).style(height=‘auto’,columns=4),
dict_path.append((img_paths_list[i] ,‘img_descrip’+str(i))) # 表示 list.append【 图片路径,图片描述】, 图片描述可以自定义字符串

# -*- coding: utf-8 -*-
# @Time : 2023/10/12 13:48
# @Author : XyZeng

import os
import gradio as gr

def get_img_lits(img_dir):
        imgs_List=[ os.path.join(img_dir,name) for name in sorted(os.listdir(img_dir)) if  name.endswith(('.png','.jpg','.webp','.tif','.jpeg'))]
        return imgs_List


def input_text(dir):
    img_paths_list=get_img_lits(dir) #  注意传入自定义的web
    # 结果为 list,里面对象可以为
    dict_path=[]
    for i in range(len(img_paths_list)):
        dict_path.append((img_paths_list[i] ,'img_descrip'+str(i)))  # 图片路径,图片描述, 图片描述可以自定义字符串
    print(dict_path)
    return dict_path

'''
 gr.Gallery()
 必须要使用.style()才能控制图片布局
 https://www.gradio.app/docs/gallery
 As output: expects a list of images in any format, List[numpy.array | PIL.Image | str | pathlib.Path], 
 or a List of (image, str caption) tuples and displays them.
 
'''
demo = gr.Interface(
    fn=input_text,
    inputs=gr.inputs.Textbox(default='./dir_show'),
    # inputs=gr.inputs.Image(type="pil"),
    outputs=gr.Gallery(label="最终的结果图片").style(height='auto',columns=4),
    title='显示某路径下的所有图片的缩略图23.10.12',
)
if __name__ == "__main__":
    print("gradio_version",gr.__version__)

    demo.launch(
        server_name="0.0.0.0", # 不指定默认是只能本机 127.0.0.1访问,指定后可局域网访问
        # server_port=7862    #  可指定端口,好处是固定,坏处是可能占用,默认自动纷纷端口
    )

附录

初始化界面

如果要局域网内访问,demo.launch(server_name=“0.0.0.0”)
demo.launch()启动是本机访问

    demo.launch(
        server_name="0.0.0.0", # 不指定默认是只能本机 127.0.0.1访问,指定后可局域网访问
        # server_port=7862    #  可指定端口,好处是固定,坏处是可能占用,默认自动纷纷端口
    )

gradio gallery demo,# 数据处理与可视化,计算机视觉相关,gradio,webui,显示多个图片,python_ui,UI

缩略图界面

gradio gallery demo,# 数据处理与可视化,计算机视觉相关,gradio,webui,显示多个图片,python_ui,UI

点击后图片可放大

gradio gallery demo,# 数据处理与可视化,计算机视觉相关,gradio,webui,显示多个图片,python_ui,UI文章来源地址https://www.toymoban.com/news/detail-761149.html

到了这里,关于【webUI】gradio基础使用2——Gallery组件显示多张图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包