MakiAi's picture
Upload 84 files
ad8cacf verified

A newer version of the Gradio SDK is available: 5.29.0

Upgrade

🛠️ Animal Grid Vectorizer - ユーティリティ

📋 概要

Animal Grid Vectorizerの主要な処理機能を提供するユーティリティモジュール群です。 画像処理、ベクター変換、AI機能などの中核となる機能を実装しています。

🏗️ ディレクトリ構造

utils/
├── background_removal/  # 背景除去機能
├── grid_splitter/      # グリッド分割機能
├── svg_vectorizer/     # SVG変換機能
└── image_captioner.py  # 画像キャプション生成

💻 モジュール説明

🧹 background_removal/

画像から背景を除去する機能を提供します。

主な機能:

  • シンプルモード(閾値ベース)
  • 高度モード(GrabCutアルゴリズム)
  • 透明部分の最適化
  • バッチ処理対応

🔲 grid_splitter/

グリッド画像を個別の画像に分割する機能を提供します。

主な機能:

  • グリッドサイズ指定による分割
  • 余白の自動検出と除去
  • アスペクト比の保持
  • バッチ処理対応

🖋️ svg_vectorizer/

画像をSVGベクター形式に変換する機能を提供します。

主な機能:

  • カラー/白黒変換
  • 階層モード選択
  • パス最適化
  • サイズ自動調整

💬 image_captioner.py

Google Geminiを使用した画像キャプション生成機能を提供します。

主な機能:

  • 画像の内容分析
  • キャプション生成
  • ファイル名生成
  • カスタムプロンプト対応

🔧 共通ユーティリティ

エラー処理

from utils.exceptions import (
    GridSplitError,
    BackgroundRemovalError,
    VectorizeError,
    CaptionError
)

ログ機能

from utils.logging import get_logger

logger = get_logger(__name__)
logger.info("処理開始")

設定管理

from utils.config import (
    load_config,
    save_config,
    update_config
)

📊 性能最適化

メモリ使用量

  • 大きな画像の分割処理時のメモリ管理
  • バッチ処理時のメモリプール
  • 一時ファイルの自動クリーンアップ

処理速度

  • マルチスレッド処理対応
  • GPU支援処理(利用可能な場合)
  • キャッシュ機能

🔍 デバッグ機能

デバッグモード

from utils.debug import enable_debug

enable_debug()  # デバッグ情報の出力を有効化

プロファイリング

from utils.profiler import profile

@profile
def process_image():
    # 処理内容
    pass

🧪 テスト

ユニットテスト

python -m pytest tests/utils/

統合テスト

python -m pytest tests/integration/

📝 コード規約

  • PEP 8に準拠
  • Type hintingの使用
  • Docstringの記述(Google形式)
  • モジュールごとのREADME.mdの整備