Spaces:
Sleeping
Sleeping
File size: 3,172 Bytes
ad8cacf | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | # 🛠️ Animal Grid Vectorizer - ユーティリティ
## 📋 概要
Animal Grid Vectorizerの主要な処理機能を提供するユーティリティモジュール群です。
画像処理、ベクター変換、AI機能などの中核となる機能を実装しています。
## 🏗️ ディレクトリ構造
```
utils/
├── background_removal/ # 背景除去機能
├── grid_splitter/ # グリッド分割機能
├── svg_vectorizer/ # SVG変換機能
└── image_captioner.py # 画像キャプション生成
```
## 💻 モジュール説明
### 🧹 background_removal/
画像から背景を除去する機能を提供します。
- [詳細説明](background_removal/README.md)
主な機能:
- シンプルモード(閾値ベース)
- 高度モード(GrabCutアルゴリズム)
- 透明部分の最適化
- バッチ処理対応
### 🔲 grid_splitter/
グリッド画像を個別の画像に分割する機能を提供します。
- [詳細説明](grid_splitter/README.md)
主な機能:
- グリッドサイズ指定による分割
- 余白の自動検出と除去
- アスペクト比の保持
- バッチ処理対応
### 🖋️ svg_vectorizer/
画像をSVGベクター形式に変換する機能を提供します。
- [詳細説明](svg_vectorizer/README.md)
主な機能:
- カラー/白黒変換
- 階層モード選択
- パス最適化
- サイズ自動調整
### 💬 image_captioner.py
Google Geminiを使用した画像キャプション生成機能を提供します。
主な機能:
- 画像の内容分析
- キャプション生成
- ファイル名生成
- カスタムプロンプト対応
## 🔧 共通ユーティリティ
### エラー処理
```python
from utils.exceptions import (
GridSplitError,
BackgroundRemovalError,
VectorizeError,
CaptionError
)
```
### ログ機能
```python
from utils.logging import get_logger
logger = get_logger(__name__)
logger.info("処理開始")
```
### 設定管理
```python
from utils.config import (
load_config,
save_config,
update_config
)
```
## 📊 性能最適化
### メモリ使用量
- 大きな画像の分割処理時のメモリ管理
- バッチ処理時のメモリプール
- 一時ファイルの自動クリーンアップ
### 処理速度
- マルチスレッド処理対応
- GPU支援処理(利用可能な場合)
- キャッシュ機能
## 🔍 デバッグ機能
### デバッグモード
```python
from utils.debug import enable_debug
enable_debug() # デバッグ情報の出力を有効化
```
### プロファイリング
```python
from utils.profiler import profile
@profile
def process_image():
# 処理内容
pass
```
## 🧪 テスト
### ユニットテスト
```bash
python -m pytest tests/utils/
```
### 統合テスト
```bash
python -m pytest tests/integration/
```
## 📝 コード規約
- PEP 8に準拠
- Type hintingの使用
- Docstringの記述(Google形式)
- モジュールごとのREADME.mdの整備
|