rioanggara commited on
Commit
f7e502f
·
1 Parent(s): 06010a5
Files changed (1) hide show
  1. app.py +37 -10
app.py CHANGED
@@ -1,22 +1,49 @@
1
  import gradio as gr
2
- from PIL import Image, ImageEnhance
3
 
4
- def to_black_and_white(input_image, contrast_level):
5
- # Enhance contrast
6
- enhancer = ImageEnhance.Contrast(input_image)
7
- enhanced_image = enhancer.enhance(contrast_level)
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  # Convert to grayscale
10
- bw_image = enhanced_image.convert("L")
11
  return bw_image
12
 
13
  with gr.Blocks() as app:
14
- gr.Markdown("### Black and White Image Maker with Contrast Adjustment")
15
  with gr.Row():
16
  image_input = gr.Image(type="pil", label="Upload your Image")
17
- contrast_slider = gr.Slider(minimum=0.5, maximum=3.0, value=1.0, label="Contrast Level")
 
 
 
 
 
18
  image_output = gr.Image(type="pil", label="Black and White Image")
19
 
20
- image_input.change(to_black_and_white, inputs=[image_input, contrast_slider], outputs=image_output)
 
 
 
 
21
 
22
- app.launch()
 
1
  import gradio as gr
2
+ from PIL import Image, ImageEnhance, ImageFilter
3
 
4
+ def to_black_and_white(input_image, contrast, brightness, sharpness, color, filter_intensity):
5
+ if input_image is None:
6
+ return None
 
7
 
8
+ # Adjust contrast
9
+ enhancer = ImageEnhance.Contrast(input_image)
10
+ adjusted_image = enhancer.enhance(contrast)
11
+
12
+ # Adjust brightness
13
+ enhancer = ImageEnhance.Brightness(adjusted_image)
14
+ adjusted_image = enhancer.enhance(brightness)
15
+
16
+ # Adjust sharpness
17
+ enhancer = ImageEnhance.Sharpness(adjusted_image)
18
+ adjusted_image = enhancer.enhance(sharpness)
19
+
20
+ # Adjust color
21
+ enhancer = ImageEnhance.Color(adjusted_image)
22
+ adjusted_image = enhancer.enhance(color)
23
+
24
+ # Apply a general filter for intensity
25
+ adjusted_image = adjusted_image.filter(ImageFilter.GaussianBlur(radius=(1 - filter_intensity)))
26
+
27
  # Convert to grayscale
28
+ bw_image = adjusted_image.convert("L")
29
  return bw_image
30
 
31
  with gr.Blocks() as app:
32
+ gr.Markdown("### Black and White Image Maker with Advanced Adjustments")
33
  with gr.Row():
34
  image_input = gr.Image(type="pil", label="Upload your Image")
35
+ contrast_slider = gr.Slider(minimum=0.5, maximum=3.0, value=1.0, label="Contrast")
36
+ brightness_slider = gr.Slider(minimum=0.5, maximum=3.0, value=1.0, label="Brightness")
37
+ sharpness_slider = gr.Slider(minimum=0.5, maximum=3.0, value=1.0, label="Sharpness")
38
+ color_slider = gr.Slider(minimum=0, maximum=3.0, value=1.0, label="Color Balance")
39
+ filter_slider = gr.Slider(minimum=0, maximum=1.0, value=1.0, label="Filter Intensity")
40
+ apply_button = gr.Button("Click to Apply")
41
  image_output = gr.Image(type="pil", label="Black and White Image")
42
 
43
+ apply_button.click(
44
+ to_black_and_white,
45
+ inputs=[image_input, contrast_slider, brightness_slider, sharpness_slider, color_slider, filter_slider],
46
+ outputs=image_output
47
+ )
48
 
49
+ app.launch()