👨‍🏭Stable Diffusion WebUI Extension 開發入門
00 min
2024-6-24
2024-6-24
type
status
date
slug
password
summary
tags
category
icon
😀
因為想在 Stable Diffusion WebUI 消除圖片的Metadata,但又不能單獨移除,很煩

本文成果倉庫

Stable Diffusion WebUI 結構和開發指南

notion image

RemoveMetadata.py 結構

  1. recreate_metadata 函數:
      • 這個函數接受一個 image_path 參數,即要處理的圖像文件的路徑。
      • 使用 Image.open() 打開圖像文件。
      • 獲取圖像所在的目錄和文件名。
      • 生成一個新的文件名,添加前綴 "no_metadata_"。
      • 創建輸出目錄 outputs/no-metadata-images,如果不存在則創建。
      • 使用 Image.save() 將圖像保存到新的路徑,並移除 EXIF 數據。
      • 打印日誌,顯示原始路徑和新保存的路徑。
      • 返回新保存的圖像路徑。
  1. on_ui_tabs 函數:
      • 這個函數用於創建一個 Gradio 應用程序的 UI 組件。
      • 在 gr.Blocks() 上下文中創建 UI 元素:
        • 一個 gr.Image 組件用於輸入圖像。
        • 一個 gr.Button 組件用於觸發 "Recreate Image with Metadata Removed" 操作。
        • 另一個 gr.Image 組件用於顯示處理後的圖像。
      • btn.click() 將 recreate_metadata 函數綁定到按鈕的點擊事件,並使用輸入圖像路徑作為參數。
      • 最後,返回一個包含 UI 組件的元組,以供 Stable Diffusion 應用程序集成使用。
  1. 腳本回調:
      • 使用 script_callbacks.on_ui_tabs(on_ui_tabs) 註冊 on_ui_tabs 函數,這樣當 Stable Diffusion 應用程序請求 UI 選項卡時,它就會被調用。
       
上一篇
Deep learning Guide 5: Sequence Models, Language Models
下一篇
Deep learning Guide 4: Batch Normalization, ResNet, DenseNet, 面試經典題

Comments
Loading...