File size: 5,169 Bytes
ecb2499
128da6f
d395f06
128da6f
ecb2499
 
 
 
 
 
2b5ca13
ecb2499
2b5ca13
ecb2499
2b5ca13
ecb2499
2b5ca13
ecb2499
 
 
 
 
 
2b5ca13
ecb2499
 
 
2b5ca13
ecb2499
2b5ca13
398b0e7
2b5ca13
128da6f
2b5ca13
9420008
 
 
 
 
 
 
 
 
 
 
 
2b5ca13
128da6f
2b5ca13
128da6f
 
 
a84ec09
398b0e7
a84ec09
 
398b0e7
 
a84ec09
2b5ca13
9420008
2b5ca13
a84ec09
 
 
2b5ca13
a84ec09
 
128da6f
 
 
 
 
398b0e7
128da6f
 
 
2b5ca13
a84ec09
 
9420008
398b0e7
d395f06
398b0e7
a84ec09
9420008
a84ec09
9420008
a84ec09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9420008
d395f06
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9420008
d395f06
 
 
a84ec09
398b0e7
 
 
 
 
 
 
 
 
9420008
 
d395f06
398b0e7
2b5ca13
ecb2499
2b5ca13
a84ec09
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
---
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 is a Python application that generates header images using a mask image and an input image. Version 0.1.1 has been released.

## 🚀 Project Overview

Pic-to-Header is a Streamlit application that allows you to easily generate and download header images using a mask image and an input image. It's also available on PyPI. It also supports a command-line interface (CLI).


## 🎥 Demo Video

https://github.com/user-attachments/assets/9306ad92-9a2e-45d7-9004-0eba9c0e1207


## 🤗 Demo Site

<!-- Spacesのステータスバッジ -->
[![Spaces](https://img.shields.io/badge/🤗%20Hugging%20Face-Spaces-yellow.svg)](https://huggingface.co/spaces/MakiAi/pic-to-header)

## ✨ Key Features

- Upload mask and input images
- Generate header images
- Preview and download generated header images
- Image processing using a command-line interface (CLI)
- Added README page and release notes page to the Streamlit app


## 🔧 Usage

### Method 1: Installation from PyPI

Pic-to-Header is available on PyPI. You can install it using the following command:

```bash
pip install pic-to-header
```

### Method 2: Installation from Source

1. Clone the repository:
   ```bash
   git clone https://github.com/Sunwood-ai-labs/pic-to-header.git
   cd pic-to-header
   ```
2. Install the required dependencies:
   ```bash
   pip install -r requirements.txt
   ```

### Streamlit Web Application

1. Launch the Streamlit application:
   ```bash
   streamlit run pic_to_header/app.py
   ```
2. Access the URL displayed in your browser.
3. Upload the input and mask images.
4. Click the "Generate Header Image" button.
5. Preview the generated header image and download it if needed.


### Command-Line Interface (CLI)

You can also process images using the CLI:

```bash
pic-to-header input_image.png mask_image.png output_image.png
```

Example:

```bash
pic-to-header assets/sample.png assets/mask.png output_image.png
```

### Using in a Python Script

The `pic-to-header` package can also be used directly within a Python script.  Here's an example:

```python
from pic_to_header.core import process_header_image

# Specify the paths to the input image, mask image, and output 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"

# Generate the header image
result = process_header_image(input_image_path, mask_image_path, output_image_path)

print(f"Header image generated: {result}")
```

This script works as follows:

1. Imports the `process_header_image` function from the `pic_to_header.core` module.
2. Specifies the paths to the input image, mask image, and output image.
3. Calls the `process_header_image` function to generate the header image.
4. Displays the path to the generated image.

Running this script will generate the header image at the specified output path.

## 💻 Development

- `pic_to_header/core.py`: Contains the main image processing functions.
- `pic_to_header/app.py`: Provides the web interface using Streamlit.
- `pic_to_header/cli.py`: Provides the command-line interface.


## 📦 Installation Instructions

See the "Usage" section above.


## 🆕 What's New

- Implemented a command-line interface (CLI) for image processing from the command line.
- Added a README page and release notes page to the Streamlit app.
- Improved documentation, including how to install from PyPI and how to use the CLI.
- The CLI entry point changed from `pic_to_header.app:main` to `pic_to_header.cli:main`.
- Version number updated from 0.1.0 to 0.1.1.


## 📄 License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.