Spaces:
Running
Running
rename module
Browse files- myapp/cli.py +1 -1
- myapp/cli/main.py +42 -0
- myapp/pall_app.py +2 -1
- myapp/{types.py → params.py} +0 -0
myapp/cli.py
CHANGED
@@ -3,7 +3,7 @@ import dotenv
|
|
3 |
from huggingface_hub import InferenceClient
|
4 |
|
5 |
from myapp.palette import extract_color_clusters, generate_palette_image
|
6 |
-
from myapp.
|
7 |
|
8 |
dotenv.load_dotenv()
|
9 |
client = InferenceClient()
|
|
|
3 |
from huggingface_hub import InferenceClient
|
4 |
|
5 |
from myapp.palette import extract_color_clusters, generate_palette_image
|
6 |
+
from myapp.params import ImageParamType
|
7 |
|
8 |
dotenv.load_dotenv()
|
9 |
client = InferenceClient()
|
myapp/cli/main.py
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import click
|
2 |
+
import dotenv
|
3 |
+
from huggingface_hub import InferenceClient
|
4 |
+
|
5 |
+
from myapp.palette import extract_color_clusters, generate_palette_image
|
6 |
+
from myapp.params import ImageParamType
|
7 |
+
|
8 |
+
dotenv.load_dotenv()
|
9 |
+
client = InferenceClient()
|
10 |
+
|
11 |
+
|
12 |
+
@click.group()
|
13 |
+
def cli():
|
14 |
+
pass
|
15 |
+
|
16 |
+
|
17 |
+
@cli.command()
|
18 |
+
@click.option("--prompt", required=True)
|
19 |
+
@click.option("--target", type=click.Path(dir_okay=False), required=True)
|
20 |
+
@click.option("--model", default="black-forest-labs/FLUX.1-schnell")
|
21 |
+
@click.option("--width", default=400)
|
22 |
+
@click.option("--height", default=400)
|
23 |
+
def generate_image(prompt, target, model, width, height):
|
24 |
+
image = client.text_to_image(
|
25 |
+
prompt=prompt,
|
26 |
+
model=model,
|
27 |
+
width=width,
|
28 |
+
height=height,
|
29 |
+
)
|
30 |
+
|
31 |
+
image.save(target)
|
32 |
+
|
33 |
+
|
34 |
+
@cli.command()
|
35 |
+
@click.option("--image", type=ImageParamType(), required=True)
|
36 |
+
@click.option("--target", type=click.Path(dir_okay=False), required=True)
|
37 |
+
@click.option("--n-colors", default=4)
|
38 |
+
@click.option("--shade", "shades", default=(0.0,), multiple=True)
|
39 |
+
def generate_palette(image, target, n_colors, shades):
|
40 |
+
k_means = extract_color_clusters(image, n_colors)
|
41 |
+
palette = generate_palette_image(k_means, shades=shades)
|
42 |
+
palette.save(target)
|
myapp/pall_app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import gradio as gr
|
2 |
import numpy as np
|
3 |
|
4 |
-
from myapp.palette import array_to_hex, extract_color_clusters
|
5 |
|
6 |
with gr.Blocks() as demo:
|
7 |
image = gr.Image("vulture.webp")
|
@@ -11,6 +11,7 @@ with gr.Blocks() as demo:
|
|
11 |
@gr.render(inputs=[image, n_colors])
|
12 |
def render_palette(image_array: np.ndarray, n_clusers: int):
|
13 |
model = extract_color_clusters(image_array, n_clusers)
|
|
|
14 |
|
15 |
for cluster in model.cluster_centers_:
|
16 |
gr.ColorPicker(array_to_hex(cluster))
|
|
|
1 |
import gradio as gr
|
2 |
import numpy as np
|
3 |
|
4 |
+
from myapp.palette import array_to_hex, extract_color_clusters, iter_color_shades
|
5 |
|
6 |
with gr.Blocks() as demo:
|
7 |
image = gr.Image("vulture.webp")
|
|
|
11 |
@gr.render(inputs=[image, n_colors])
|
12 |
def render_palette(image_array: np.ndarray, n_clusers: int):
|
13 |
model = extract_color_clusters(image_array, n_clusers)
|
14 |
+
shades = iter_color_shades(model, (0, 0.2, 0.4, 0.6))
|
15 |
|
16 |
for cluster in model.cluster_centers_:
|
17 |
gr.ColorPicker(array_to_hex(cluster))
|
myapp/{types.py → params.py}
RENAMED
File without changes
|