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の整備