pic-to-header / README.md
iris-s-coon
📝 [docs] リリース後のREADME更新 (v0.2.0)
a9a1521
---
license: mit
title: pic-to-header
sdk: streamlit
emoji: 🐨
colorFrom: blue
colorTo: purple
pinned: false
app_file: pic_to_header/app.py
---
<div align="center">
# Pic-to-Header
![Pic-to-Header Result](https://raw.githubusercontent.com/Sunwood-ai-labs/pic-to-header/refs/heads/main/assets/result.png)
[![GitHub license](https://img.shields.io/github/license/Sunwood-ai-labs/pic-to-header)](https://github.com/Sunwood-ai-labs/pic-to-header/blob/main/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/Sunwood-ai-labs/pic-to-header)](https://github.com/Sunwood-ai-labs/pic-to-header/stargazers)
[![GitHub issues](https://img.shields.io/github/issues/Sunwood-ai-labs/pic-to-header)](https://github.com/Sunwood-ai-labs/pic-to-header/issues)
[![GitHub release](https://img.shields.io/github/release/Sunwood-ai-labs/pic-to-header.svg)](https://GitHub.com/Sunwood-ai-labs/pic-to-header/releases/)
[![GitHub tag](https://img.shields.io/github/tag/Sunwood-ai-labs/pic-to-header.svg)](https://GitHub.com/Sunwood-ai-labs/pic-to-header/tags/)
[![PyPI version](https://badge.fury.io/py/pic-to-header.svg)](https://badge.fury.io/py/pic-to-header)
![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)
![Streamlit](https://img.shields.io/badge/Streamlit-FF4B4B?style=for-the-badge&logo=Streamlit&logoColor=white)
![OpenCV](https://img.shields.io/badge/opencv-%23white.svg?style=for-the-badge&logo=opencv&logoColor=white)
</div>
Pic-to-Headerは、マスク画像と入力画像を使用してヘッダー画像を生成するPythonアプリケーションです。 バージョン 0.2.0 がリリースされました。
## 🚀 プロジェクト概要
Pic-to-Headerは、マスク画像と入力画像を使用して簡単にヘッダー画像を生成し、ダウンロードできるStreamlitアプリケーションです。PyPIにも公開されています。 コマンドラインインターフェース(CLI)にも対応しています。
## 🎥 デモ動画
https://github.com/user-attachments/assets/9306ad92-9a2e-45d7-9004-0eba9c0e1207
## 🤗 デモサイト
<!-- Spacesのステータスバッジ -->
[![Spaces](https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-yellow.svg)](https://huggingface.co/spaces/MakiAi/pic-to-header)
## ✨ 主な機能
- マスク画像と入力画像のアップロード
- ヘッダー画像の生成
- 生成されたヘッダー画像のプレビューとダウンロード
- コマンドラインインターフェース (CLI) を使用した画像処理
- マスク管理機能
- 画像処理ロジックの拡張
- Pythonスクリプトによる画像処理機能
- READMEページとリリースノートページのStreamlitアプリへの追加
## 🔧 使用方法
### 方法1: PyPIからのインストール
Pic-to-Headerは、PyPIで利用可能です。以下のコマンドでインストールできます:
```bash
pip install pic-to-header
```
### 方法2: ソースからのインストール
1. リポジトリをクローンします:
```bash
git clone https://github.com/Sunwood-ai-labs/pic-to-header.git
cd pic-to-header
```
2. 必要な依存関係をインストールします:
```bash
pip install -r requirements.txt
```
### Streamlitウェブアプリケーション
1. Streamlitアプリケーションを起動します:
```bash
streamlit run pic_to_header/app.py
```
2. ブラウザで表示されるURLにアクセスします。
3. 入力画像とマスク画像をアップロードします。
4. "ヘッダー画像を生成"ボタンをクリックします。
5. 生成されたヘッダー画像をプレビューし、必要に応じてダウンロードします。
### コマンドラインインターフェース (CLI)
CLIを使用して画像を処理することもできます:
```bash
pic-to-header input_image.png mask_image.png output_image.png
```
例:
```bash
pic-to-header assets/sample.png assets/mask.png output_image.png
```
### Pythonスクリプトでの使用
`pic_to_header` パッケージは、Pythonスクリプト内で直接使用することもできます。以下は使用例です:
```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`: Streamlitを使用したWebインターフェースを提供します。
- `pic_to_header/cli.py`: コマンドラインインターフェースを提供します。
## 📦 インストール手順
上記「使用方法」セクションを参照してください。
## 🆕 最新情報 (v0.2.0)
- マスク管理機能の実装: プリセット、URL、アップロードファイルからマスク画像を取得可能になりました。プリセットマスクの管理機能も追加されました。
- 画像処理ロジックの拡張: 画像とマスク画像のチャンネル数を自動調整、マスク画像のリサイズ、マスクの透明度調整、処理結果をPIL Imageとして返す機能などが追加されました。
- Pythonスクリプトによる画像処理機能追加とドキュメント更新: `process_header_image`関数の使用方法をステップごとに説明しました。
- UI改善: Streamlitのワイドモード設定、マスク画像の取得方法の追加(プリセット、URL、アップロード)、マスクの透明度調整スライダー、複数画像アップロード対応、処理結果の表示方法変更、ダウンロードボタンの追加、エラー処理の強化などを行いました。
- Hugging Face Spacesデモサイトへのリンクとデモ動画の追加
## 📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。詳細については、[LICENSE](LICENSE)ファイルを参照してください。