Sqxww commited on
Commit
d7fed6f
·
1 Parent(s): 177db88

add filter

Browse files
Files changed (1) hide show
  1. app_base.py +45 -3
app_base.py CHANGED
@@ -5,7 +5,7 @@ import torch
5
  import os
6
  import gc
7
 
8
- from PIL import Image, ImageEnhance
9
  from segment_utils import(
10
  segment_image,
11
  restore_result_and_save,
@@ -18,6 +18,16 @@ DEFAULT_EDIT_PROMPT = "a person with perfect face"
18
 
19
  DEFAULT_CATEGORY = "face"
20
 
 
 
 
 
 
 
 
 
 
 
21
  @spaces.GPU(duration=10)
22
  @torch.inference_mode()
23
  @torch.no_grad()
@@ -31,6 +41,10 @@ def image_to_image(
31
  start_step: int,
32
  guidance_scale: float,
33
  brightness: float = 1.0,
 
 
 
 
34
  ):
35
  w2 = 1.0
36
  run_task_time = 0
@@ -70,6 +84,29 @@ def image_to_image(
70
 
71
  enhancer = ImageEnhance.Brightness(enhanced_image)
72
  enhanced_image = enhancer.enhance(brightness)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
 
74
  return enhanced_image, time_cost_str
75
 
@@ -108,7 +145,11 @@ def create_demo() -> gr.Blocks:
108
  with gr.Column():
109
  input_image_prompt = gr.Textbox(lines=1, label="Input Image Prompt", value=DEFAULT_SRC_PROMPT)
110
  edit_prompt = gr.Textbox(lines=1, label="Edit Prompt", value=DEFAULT_EDIT_PROMPT)
111
- brightness = gr.Slider(minimum=0, maximum=2, value=1.0, step=0.05, label="Brightness")
 
 
 
 
112
  with gr.Accordion("Advanced Options", open=False):
113
  category = gr.Textbox(label="Category", value=DEFAULT_CATEGORY, visible=False)
114
  mask_expansion = gr.Number(label="Mask Expansion", value=50, visible=True)
@@ -117,6 +158,7 @@ def create_demo() -> gr.Blocks:
117
  with gr.Column():
118
  num_steps = gr.Slider(minimum=1, maximum=100, value=20, step=1, label="Num Steps")
119
  start_step = gr.Slider(minimum=1, maximum=100, value=15, step=1, label="Start Step")
 
120
  g_btn = gr.Button("Edit Image")
121
  with gr.Accordion("Advanced Options", open=False):
122
  guidance_scale = gr.Slider(minimum=0, maximum=20, value=0, step=0.5, label="Guidance Scale")
@@ -140,7 +182,7 @@ def create_demo() -> gr.Blocks:
140
  outputs=[origin_area_image, cropper],
141
  ).success(
142
  fn=image_to_image,
143
- inputs=[origin_area_image, input_image_prompt, edit_prompt,seed,w1, num_steps, start_step, guidance_scale, brightness],
144
  outputs=[enhanced_image, generated_cost],
145
  ).success(
146
  fn=restore_result_and_save,
 
5
  import os
6
  import gc
7
 
8
+ from PIL import Image, ImageEnhance, ImageFilter
9
  from segment_utils import(
10
  segment_image,
11
  restore_result_and_save,
 
18
 
19
  DEFAULT_CATEGORY = "face"
20
 
21
+ filter_names = [
22
+ "NONE",
23
+ "DETAIL",
24
+ "SMOOTH",
25
+ "SMOOTH_MORE",
26
+ "SHARPEN",
27
+ "EDGE_ENHANCE",
28
+ "EDGE_ENHANCE_MORE",
29
+ ]
30
+
31
  @spaces.GPU(duration=10)
32
  @torch.inference_mode()
33
  @torch.no_grad()
 
41
  start_step: int,
42
  guidance_scale: float,
43
  brightness: float = 1.0,
44
+ color: float = 1.0,
45
+ contrast: float = 1.0,
46
+ sharpness: float = 1.0,
47
+ filter: str = "NONE",
48
  ):
49
  w2 = 1.0
50
  run_task_time = 0
 
84
 
85
  enhancer = ImageEnhance.Brightness(enhanced_image)
86
  enhanced_image = enhancer.enhance(brightness)
87
+ enhancer = ImageEnhance.Color(enhanced_image)
88
+ enhanced_image = enhancer.enhance(color)
89
+ enhancer = ImageEnhance.Contrast(enhanced_image)
90
+ enhanced_image = enhancer.enhance(contrast)
91
+ enhancer = ImageEnhance.Sharpness(enhanced_image)
92
+ enhanced_image = enhancer.enhance(sharpness)
93
+
94
+ if filter == "NONE":
95
+ pass
96
+ elif filter == "DETAIL":
97
+ enhanced_image = enhanced_image.filter(ImageFilter.DETAIL)
98
+ elif filter == "SMOOTH":
99
+ enhanced_image = enhanced_image.filter(ImageFilter.SMOOTH)
100
+ elif filter == "SMOOTH_MORE":
101
+ enhanced_image = enhanced_image.filter(ImageFilter.SMOOTH_MORE)
102
+ elif filter == "SHARPEN":
103
+ enhanced_image = enhanced_image.filter(ImageFilter.SHARPEN)
104
+ elif filter == "EDGE_ENHANCE":
105
+ enhanced_image = enhanced_image.filter(ImageFilter.EDGE_ENHANCE)
106
+ elif filter == "EDGE_ENHANCE_MORE":
107
+ enhanced_image = enhanced_image.filter(ImageFilter.EDGE_ENHANCE_MORE)
108
+
109
+ run_task_time, time_cost_str = get_time_cost(run_task_time, time_cost_str, 'image_enhance done')
110
 
111
  return enhanced_image, time_cost_str
112
 
 
145
  with gr.Column():
146
  input_image_prompt = gr.Textbox(lines=1, label="Input Image Prompt", value=DEFAULT_SRC_PROMPT)
147
  edit_prompt = gr.Textbox(lines=1, label="Edit Prompt", value=DEFAULT_EDIT_PROMPT)
148
+ with gr.Row():
149
+ brightness = gr.Number(label="Brightness", value=1.0, minimum=0.0, maximum=2.0, step=0.01)
150
+ color = gr.Number(label="Color", value=1.0, minimum=0.0, maximum=2.0, step=0.01)
151
+ contrast = gr.Number(label="Contrast", value=1.0, minimum=0.0, maximum=2.0, step=0.01)
152
+ sharpness = gr.Number(label="Sharpness", value=1.0, minimum=0.0, maximum=2.0, step=0.01)
153
  with gr.Accordion("Advanced Options", open=False):
154
  category = gr.Textbox(label="Category", value=DEFAULT_CATEGORY, visible=False)
155
  mask_expansion = gr.Number(label="Mask Expansion", value=50, visible=True)
 
158
  with gr.Column():
159
  num_steps = gr.Slider(minimum=1, maximum=100, value=20, step=1, label="Num Steps")
160
  start_step = gr.Slider(minimum=1, maximum=100, value=15, step=1, label="Start Step")
161
+ filter = gr.Dropdown(choices=filter_names, label="Filter", value="NONE")
162
  g_btn = gr.Button("Edit Image")
163
  with gr.Accordion("Advanced Options", open=False):
164
  guidance_scale = gr.Slider(minimum=0, maximum=20, value=0, step=0.5, label="Guidance Scale")
 
182
  outputs=[origin_area_image, cropper],
183
  ).success(
184
  fn=image_to_image,
185
+ inputs=[origin_area_image, input_image_prompt, edit_prompt,seed,w1, num_steps, start_step, guidance_scale, brightness, color, contrast, sharpness, filter],
186
  outputs=[enhanced_image, generated_cost],
187
  ).success(
188
  fn=restore_result_and_save,