Kims12 commited on
Commit
b44d144
โ€ข
1 Parent(s): c52ffb7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -16
app.py CHANGED
@@ -5,10 +5,7 @@ from PIL import Image, ImageEnhance
5
  from gradio_imageslider import ImageSlider
6
 
7
  def apply_filter(image, filter_type, intensity):
8
- # PIL ์ด๋ฏธ์ง€๋ฅผ numpy array๋กœ ๋ณ€ํ™˜
9
  image = np.array(image)
10
-
11
- # ๊ฐ•๋„๋ฅผ 0.0์—์„œ 1.0 ์‚ฌ์ด๋กœ ์ •๊ทœํ™”
12
  normalized_intensity = intensity / 100.0
13
 
14
  if filter_type == "Grayscale":
@@ -16,42 +13,32 @@ def apply_filter(image, filter_type, intensity):
16
  elif filter_type == "Soft Glow":
17
  base_intensity = 0.1
18
  adjusted_intensity = base_intensity + (normalized_intensity * (1 - base_intensity))
19
-
20
  gaussian = cv2.GaussianBlur(image, (15, 15), 0)
21
  soft_glow = cv2.addWeighted(image, 1 - adjusted_intensity, gaussian, adjusted_intensity, 0)
22
  return soft_glow
23
  elif filter_type == "Portrait Enhancer":
24
  base_intensity = 0.5
25
  adjusted_intensity = base_intensity + (normalized_intensity * (1 - base_intensity))
26
-
27
  image_pil = Image.fromarray(image)
28
-
29
  enhancer = ImageEnhance.Sharpness(image_pil)
30
  image_pil = enhancer.enhance(1 + 0.5 * adjusted_intensity)
31
-
32
  enhancer = ImageEnhance.Color(image_pil)
33
  image_pil = enhancer.enhance(1 + 0.5 * adjusted_intensity)
34
-
35
  enhanced_image = np.array(image_pil)
36
  return enhanced_image
37
  elif filter_type == "Warm Tone":
38
- # ๊ฐ•๋„๋ฅผ 30%๋กœ ์„ค์ • (๋”ฐ๋œปํ•œ ํ†ค ์ ์šฉ)
39
  warm_image = cv2.addWeighted(image, 1.0, np.full(image.shape, (20, 66, 112), dtype=np.uint8), 0.3 * normalized_intensity, 0)
40
  return warm_image
41
  elif filter_type == "Cold Tone":
42
- # ๊ฐ•๋„๋ฅผ 30%๋กœ ์„ค์ • (์ฐจ๊ฐ€์šด ํ†ค ์ ์šฉ)
43
  cold_image = cv2.addWeighted(image, 1.0, np.full(image.shape, (112, 66, 20), dtype=np.uint8), 0.3 * normalized_intensity, 0)
44
  return cold_image
45
  elif filter_type == "High-Key":
46
- # ๊ฐ•๋„๋ฅผ 30%๋กœ ์„ค์ •
47
  high_key = cv2.convertScaleAbs(image, alpha=1.0 + 0.3 * normalized_intensity, beta=20)
48
  return high_key
49
  elif filter_type == "Low-Key":
50
- # ๊ฐ•๋„๋ฅผ 10%๋กœ ์„ค์ •
51
  low_key = cv2.convertScaleAbs(image, alpha=1.0 - 0.1 * normalized_intensity, beta=-10)
52
  return low_key
53
  elif filter_type == "Haze":
54
- # ๊ฐ•๋„๋ฅผ 30%๋กœ ์„ค์ •
55
  haze = cv2.addWeighted(image, 1.0, np.full(image.shape, 255, dtype=np.uint8), 0.3 * normalized_intensity, 0)
56
  return haze
57
  else:
@@ -65,15 +52,13 @@ def convert_and_save(image, filter_type, intensity):
65
  image_cv = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
66
  filtered_image = apply_filter(image_cv, filter_type, intensity)
67
 
68
- # OpenCV ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ PIL๋กœ ๋ณ€ํ™˜
69
  original_image_pil = Image.fromarray(cv2.cvtColor(image_cv, cv2.COLOR_BGR2RGB))
70
  filtered_image_pil = Image.fromarray(cv2.cvtColor(filtered_image, cv2.COLOR_BGR2RGB))
71
 
72
- # ํ•„ํ„ฐ ์ ์šฉ๋œ ์ด๋ฏธ์ง€๋ฅผ JPG๋กœ ์ €์žฅ
73
  output_path = "filtered_image.jpg"
74
  filtered_image_pil.save(output_path)
75
 
76
- return original_image_pil, filtered_image_pil, output_path # ์›๋ณธ, ํ•„ํ„ฐ ์ ์šฉ๋œ ์ด๋ฏธ์ง€์™€ ํŒŒ์ผ ๊ฒฝ๋กœ ๋ฐ˜ํ™˜
77
 
78
  def get_filter_description(filter_type):
79
  descriptions = {
 
5
  from gradio_imageslider import ImageSlider
6
 
7
  def apply_filter(image, filter_type, intensity):
 
8
  image = np.array(image)
 
 
9
  normalized_intensity = intensity / 100.0
10
 
11
  if filter_type == "Grayscale":
 
13
  elif filter_type == "Soft Glow":
14
  base_intensity = 0.1
15
  adjusted_intensity = base_intensity + (normalized_intensity * (1 - base_intensity))
 
16
  gaussian = cv2.GaussianBlur(image, (15, 15), 0)
17
  soft_glow = cv2.addWeighted(image, 1 - adjusted_intensity, gaussian, adjusted_intensity, 0)
18
  return soft_glow
19
  elif filter_type == "Portrait Enhancer":
20
  base_intensity = 0.5
21
  adjusted_intensity = base_intensity + (normalized_intensity * (1 - base_intensity))
 
22
  image_pil = Image.fromarray(image)
 
23
  enhancer = ImageEnhance.Sharpness(image_pil)
24
  image_pil = enhancer.enhance(1 + 0.5 * adjusted_intensity)
 
25
  enhancer = ImageEnhance.Color(image_pil)
26
  image_pil = enhancer.enhance(1 + 0.5 * adjusted_intensity)
 
27
  enhanced_image = np.array(image_pil)
28
  return enhanced_image
29
  elif filter_type == "Warm Tone":
 
30
  warm_image = cv2.addWeighted(image, 1.0, np.full(image.shape, (20, 66, 112), dtype=np.uint8), 0.3 * normalized_intensity, 0)
31
  return warm_image
32
  elif filter_type == "Cold Tone":
 
33
  cold_image = cv2.addWeighted(image, 1.0, np.full(image.shape, (112, 66, 20), dtype=np.uint8), 0.3 * normalized_intensity, 0)
34
  return cold_image
35
  elif filter_type == "High-Key":
 
36
  high_key = cv2.convertScaleAbs(image, alpha=1.0 + 0.3 * normalized_intensity, beta=20)
37
  return high_key
38
  elif filter_type == "Low-Key":
 
39
  low_key = cv2.convertScaleAbs(image, alpha=1.0 - 0.1 * normalized_intensity, beta=-10)
40
  return low_key
41
  elif filter_type == "Haze":
 
42
  haze = cv2.addWeighted(image, 1.0, np.full(image.shape, 255, dtype=np.uint8), 0.3 * normalized_intensity, 0)
43
  return haze
44
  else:
 
52
  image_cv = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
53
  filtered_image = apply_filter(image_cv, filter_type, intensity)
54
 
 
55
  original_image_pil = Image.fromarray(cv2.cvtColor(image_cv, cv2.COLOR_BGR2RGB))
56
  filtered_image_pil = Image.fromarray(cv2.cvtColor(filtered_image, cv2.COLOR_BGR2RGB))
57
 
 
58
  output_path = "filtered_image.jpg"
59
  filtered_image_pil.save(output_path)
60
 
61
+ return [original_image_pil, filtered_image_pil], output_path
62
 
63
  def get_filter_description(filter_type):
64
  descriptions = {