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

打印 上一主题 下一主题

主题 533|帖子 533|积分 1599

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

说明

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

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2023/10/12 13:48
  3. # @Author : XyZeng
  4. import os
  5. import gradio as gr
  6. def get_img_lits(img_dir):
  7.         imgs_List=[ os.path.join(img_dir,name) for name in sorted(os.listdir(img_dir)) if  name.endswith(('.png','.jpg','.webp','.tif','.jpeg'))]
  8.         return imgs_List
  9. def input_text(dir):
  10.     img_paths_list=get_img_lits(dir) #  注意传入自定义的web
  11.     # 结果为 list,里面对象可以为
  12.     return img_paths_list
  13. '''
  14. gr.Gallery()
  15. 必须要使用.style()才能控制图片布局
  16. '''
  17. demo = gr.Interface(
  18.     fn=input_text,
  19.     inputs=gr.inputs.Textbox(default='./dir_show'),
  20.     # inputs=gr.inputs.Image(type="pil"),
  21.     outputs=gr.Gallery(
  22.             label="最终的结果图片").style(height='auto',columns=4),
  23.     title='显示某路径下的所有图片的缩略图23.10.12',
  24. )
  25. if __name__ == "__main__":
  26.     demo.launch()
复制代码
应用二 显示图片带表明


核心语句
outputs=gr.Gallery(label=“终极的结果图片”).style(height=‘auto’,columns=4),
dict_path.append((img_paths_list ,‘img_descrip’+str(i))) # 表示 list.append【 图片路径,图片形貌】, 图片形貌可以自界说字符串
  1. # -*- coding: utf-8 -*-
  2. # @Time : 2023/10/12 13:48
  3. # @Author : XyZeng
  4. import os
  5. import gradio as gr
  6. def get_img_lits(img_dir):
  7.         imgs_List=[ os.path.join(img_dir,name) for name in sorted(os.listdir(img_dir)) if  name.endswith(('.png','.jpg','.webp','.tif','.jpeg'))]
  8.         return imgs_List
  9. def input_text(dir):
  10.     img_paths_list=get_img_lits(dir) #  注意传入自定义的web
  11.     # 结果为 list,里面对象可以为
  12.     dict_path=[]
  13.     for i in range(len(img_paths_list)):
  14.         dict_path.append((img_paths_list[i] ,'img_descrip'+str(i)))  # 图片路径,图片描述, 图片描述可以自定义字符串
  15.     print(dict_path)
  16.     return dict_path
  17. '''
  18. gr.Gallery()
  19. 必须要使用.style()才能控制图片布局
  20. https://www.gradio.app/docs/gallery
  21. As output: expects a list of images in any format, List[numpy.array | PIL.Image | str | pathlib.Path],
  22. or a List of (image, str caption) tuples and displays them.
  23. '''
  24. demo = gr.Interface(
  25.     fn=input_text,
  26.     inputs=gr.inputs.Textbox(default='./dir_show'),
  27.     # inputs=gr.inputs.Image(type="pil"),
  28.     outputs=gr.Gallery(label="最终的结果图片").style(height='auto',columns=4),
  29.     title='显示某路径下的所有图片的缩略图23.10.12',
  30. )
  31. if __name__ == "__main__":
  32.     print("gradio_version",gr.__version__)
  33.     demo.launch(
  34.         server_name="0.0.0.0", # 不指定默认是只能本机 127.0.0.1访问,指定后可局域网访问
  35.         # server_port=7862    #  可指定端口,好处是固定,坏处是可能占用,默认自动纷纷端口
  36.     )
复制代码
附录

初始化界面

如果要局域网内访问,demo.launch(server_name=“0.0.0.0”)
demo.launch()启动是本机访问
  1.     demo.launch(
  2.         server_name="0.0.0.0", # 不指定默认是只能本机 127.0.0.1访问,指定后可局域网访问
  3.         # server_port=7862    #  可指定端口,好处是固定,坏处是可能占用,默认自动纷纷端口
  4.     )
复制代码

缩略图界面


点击后图片可放大



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表