Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
5.29.0
🛠️ 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の整備