这是indexloc提供的服务,不要输入任何密码
Skip to content

Sunwood-ai-labs/gradio5-pic-to-header

Repository files navigation

license title sdk emoji colorFrom colorTo pinned app_file
mit
pic-to-header
gradio
🐨
blue
purple
false
pic_to_header/app.py

Pic-to-Header

Pic-to-Header Result

GitHub license GitHub stars GitHub issues GitHub release GitHub tag PyPI version

Python Gradio OpenCV

Pic-to-Headerは、マスク画像と入力画像を使用してヘッダー画像を生成するPythonアプリケーションです。 バージョン 0.2.0 がリリースされました。

🚀 プロジェクト概要

Pic-to-Headerは、マスク画像と入力画像を使用して簡単にヘッダー画像を生成し、ダウンロードできるGradioアプリケーションです。PyPIにも公開されています。 コマンドラインインターフェース(CLI)にも対応しています。

🎥 デモ動画

Timeline.37.mp4

🤗 デモサイト

Spaces

✨ 主な機能

  • マスク画像と入力画像のアップロード
  • ヘッダー画像の生成
  • 生成されたヘッダー画像のプレビューとダウンロード
  • コマンドラインインターフェース (CLI) を使用した画像処理
  • マスク管理機能
  • 画像処理ロジックの拡張
  • Pythonスクリプトによる画像処理機能
  • READMEページとリリースノートページのStreamlitアプリへの追加

🔧 使用方法

uv での環境構築と起動(推奨)

  1. 依存関係を同期(初回のみ)
    uv sync
  2. Gradioアプリを起動
    uv run pic-to-header-ui
    # または
    uv run python -m pic_to_header.app
    • MCP サーバー(既定で有効):
      • 依存は gradio[mcp] に含まれるため、uv sync 済みならそのまま動作します。
      • 環境変数で制御: GRADIO_MCP_SERVER=True uv run pic-to-header-ui
      • 無効にしたい場合: GRADIO_MCP_SERVER=False uv run pic-to-header-ui
    • MCP 有効時、この Gradio アプリは各 API エンドポイント(例: generate, toggle_inputs, update_mask_preview)に対応する MCP ツールを公開します。
  3. CLI を使用
    uv run pic-to-header assets/sample.png assets/mask.png output.png

方法1: PyPIからのインストール

Pic-to-Headerは、PyPIで利用可能です。以下のコマンドでインストールできます:

pip install pic-to-header

方法2: ソースからのインストール

  1. リポジトリをクローンします:
    git clone https://github.com/Sunwood-ai-labs/pic-to-header.git
    cd pic-to-header
  2. 必要な依存関係をインストールします:
    pip install -r requirements.txt

Gradioウェブアプリケーション

  1. Gradioアプリケーションを起動します:
    python pic_to_header/app.py
  2. ブラウザで表示されるURLにアクセスします。
  3. 入力画像とマスク画像をアップロードします。
  4. "ヘッダー画像を生成"ボタンをクリックします。
  5. 生成されたヘッダー画像をプレビューし、必要に応じてダウンロードします。

コマンドラインインターフェース (CLI)

CLIを使用して画像を処理することもできます:

pic-to-header input_image.png mask_image.png output_image.png

例:

pic-to-header assets/sample.png assets/mask.png output_image.png

Pythonスクリプトでの使用

pic_to_header パッケージは、Pythonスクリプト内で直接使用することもできます。以下は使用例です:

from pic_to_header.core import process_header_image

# 入力画像、マスク画像、出力画像のパスを指定
input_image_path = "path/to/input_image.png"
mask_image_path = "path/to/mask_image.png"
output_image_path = "path/to/output_image.png"

# ヘッダー画像を生成
result = process_header_image(input_image_path, mask_image_path, output_image_path)

print(f"ヘッダー画像が生成されました: {result}")

このスクリプトは以下の手順で動作します:

  1. pic_to_header.core モジュールから process_header_image 関数をインポートします。
  2. 入力画像、マスク画像、出力画像のパスを指定します。
  3. process_header_image 関数を呼び出して、ヘッダー画像を生成します。
  4. 生成された画像のパスを表示します。

このスクリプトを実行すると、指定した出力パスにヘッダー画像が生成されます。

💻 開発

  • pic_to_header/core.py: 画像処理の主要な機能を含みます。
  • pic_to_header/app.py: Gradioを使用したWebインターフェースを提供します。
  • pic_to_header/cli.py: コマンドラインインターフェースを提供します。

📦 インストール手順

上記「使用方法」セクションを参照してください。

🆕 最新情報 (v0.2.0)

  • マスク管理機能の実装: プリセット、URL、アップロードファイルからマスク画像を取得可能になりました。プリセットマスクの管理機能も追加されました。
  • 画像処理ロジックの拡張: 画像とマスク画像のチャンネル数を自動調整、マスク画像のリサイズ、マスクの透明度調整、処理結果をPIL Imageとして返す機能などが追加されました。
  • Pythonスクリプトによる画像処理機能追加とドキュメント更新: process_header_image関数の使用方法をステップごとに説明しました。
  • UI改善: Streamlitのワイドモード設定、マスク画像の取得方法の追加(プリセット、URL、アップロード)、マスクの透明度調整スライダー、複数画像アップロード対応、処理結果の表示方法変更、ダウンロードボタンの追加、エラー処理の強化などを行いました。
  • Hugging Face Spacesデモサイトへのリンクとデモ動画の追加

📄 ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細については、LICENSEファイルを参照してください。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages