ssboost commited on
Commit
c35a425
ยท
verified ยท
1 Parent(s): 57eb886

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -5
app.py CHANGED
@@ -31,6 +31,51 @@ BACKGROUND_REMOVER_MODEL = os.getenv("BACKGROUND_REMOVER_MODEL", "")
31
  # ์„ธ์…˜๋ณ„ ์ด๋ฏธ์ง€ ์ €์žฅ์šฉ ๋”•์…”๋„ˆ๋ฆฌ
32
  session_images = {}
33
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  def remove_background(image, session_id):
35
  """๋ฐฐ๊ฒฝ ์ œ๊ฑฐ ๊ธฐ๋Šฅ - Replicate API ์‚ฌ์šฉ"""
36
  logger.info(f"์„ธ์…˜ {session_id}: ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ ์‹œ์ž‘")
@@ -91,11 +136,6 @@ def remove_background(image, session_id):
91
  if os.path.exists(temp_file_path):
92
  os.unlink(temp_file_path)
93
 
94
- def get_korean_timestamp():
95
- """ํ•œ๊ตญ ์‹œ๊ฐ„ ํƒ€์ž„์Šคํƒฌํ”„ ์ƒ์„ฑ"""
96
- korea_time = datetime.utcnow() + timedelta(hours=9)
97
- return korea_time.strftime('%Y%m%d_%H%M%S')
98
-
99
  def handle_upload(image, session_id=None):
100
  """์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ฒ˜๋ฆฌ ๋ฐ ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ"""
101
  if image is None:
 
31
  # ์„ธ์…˜๋ณ„ ์ด๋ฏธ์ง€ ์ €์žฅ์šฉ ๋”•์…”๋„ˆ๋ฆฌ
32
  session_images = {}
33
 
34
+ def adjust_brightness(image, value):
35
+ """์ด๋ฏธ์ง€ ๋ฐ๊ธฐ ์กฐ์ ˆ"""
36
+ value = float(value - 1) * 100 # 0-2 ๋ฒ”์œ„๋ฅผ -100์—์„œ +100์œผ๋กœ ๋ณ€ํ™˜
37
+ hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
38
+ h, s, v = cv2.split(hsv)
39
+ v = cv2.add(v, value)
40
+ v = np.clip(v, 0, 255)
41
+ final_hsv = cv2.merge((h, s, v))
42
+ return cv2.cvtColor(final_hsv, cv2.COLOR_HSV2BGR)
43
+
44
+ def adjust_contrast(image, value):
45
+ """์ด๋ฏธ์ง€ ๋Œ€๋น„ ์กฐ์ ˆ"""
46
+ value = float(value)
47
+ return np.clip(image * value, 0, 255).astype(np.uint8)
48
+
49
+ def adjust_saturation(image, value):
50
+ """์ด๋ฏธ์ง€ ์ฑ„๋„ ์กฐ์ ˆ"""
51
+ value = float(value - 1) * 100 # 0-2 ๋ฒ”์œ„๋ฅผ -100์—์„œ +100์œผ๋กœ ๋ณ€ํ™˜
52
+ hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
53
+ h, s, v = cv2.split(hsv)
54
+ s = cv2.add(s, value)
55
+ s = np.clip(s, 0, 255)
56
+ final_hsv = cv2.merge((h, s, v))
57
+ return cv2.cvtColor(final_hsv, cv2.COLOR_HSV2BGR)
58
+
59
+ def adjust_temperature(image, value):
60
+ """์ด๋ฏธ์ง€ ์ƒ‰์˜จ๋„ ์กฐ์ ˆ (์ƒ‰์ƒ ๋ฐธ๋Ÿฐ์Šค)"""
61
+ value = float(value) * 30 # ํšจ๊ณผ ์Šค์ผ€์ผ ์กฐ์ ˆ
62
+ b, g, r = cv2.split(image)
63
+ if value > 0: # ๋”ฐ๋œปํ•˜๊ฒŒ
64
+ r = cv2.add(r, value)
65
+ b = cv2.subtract(b, value)
66
+ else: # ์ฐจ๊ฐ‘๊ฒŒ
67
+ r = cv2.add(r, value)
68
+ b = cv2.subtract(b, value)
69
+
70
+ r = np.clip(r, 0, 255)
71
+ b = np.clip(b, 0, 255)
72
+ return cv2.merge([b, g, r])
73
+
74
+ def get_korean_timestamp():
75
+ """ํ•œ๊ตญ ์‹œ๊ฐ„ ํƒ€์ž„์Šคํƒฌํ”„ ์ƒ์„ฑ"""
76
+ korea_time = datetime.utcnow() + timedelta(hours=9)
77
+ return korea_time.strftime('%Y%m%d_%H%M%S')
78
+
79
  def remove_background(image, session_id):
80
  """๋ฐฐ๊ฒฝ ์ œ๊ฑฐ ๊ธฐ๋Šฅ - Replicate API ์‚ฌ์šฉ"""
81
  logger.info(f"์„ธ์…˜ {session_id}: ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ ์‹œ์ž‘")
 
136
  if os.path.exists(temp_file_path):
137
  os.unlink(temp_file_path)
138
 
 
 
 
 
 
139
  def handle_upload(image, session_id=None):
140
  """์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ฒ˜๋ฆฌ ๋ฐ ๋ฐฐ๊ฒฝ ์ œ๊ฑฐ"""
141
  if image is None: