dev1461 commited on
Commit
78e35d6
·
verified ·
1 Parent(s): e2ec1ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -15
app.py CHANGED
@@ -79,12 +79,11 @@ def enhance_image(input_image):
79
  # Convert tensor → numpy
80
  output = output.squeeze().permute(1, 2, 0).cpu().numpy()
81
 
82
- # Handle range
83
  if output.min() < 0:
84
  output = (output + 1) / 2
85
 
86
  output = np.clip(output, 0, 1)
87
-
88
  output_img = (output * 255).astype(np.uint8)
89
 
90
  # Resize back
@@ -93,10 +92,10 @@ def enhance_image(input_image):
93
  output_img = np.array(output_img)
94
 
95
  # ---------------------------
96
- # FINAL SAFE POST-PROCESSING
97
  # ---------------------------
98
 
99
- # 1. Light smoothing (remove artifacts)
100
  output_img = cv2.GaussianBlur(output_img, (3, 3), 0)
101
 
102
  # 2. Mild sharpening (safe)
@@ -107,19 +106,14 @@ def enhance_image(input_image):
107
  ])
108
  output_img = cv2.filter2D(output_img, -1, sharpen_kernel)
109
 
110
- # 3. Blend with original (VERY IMPORTANT)
111
  original_np = np.array(img.resize(original_size))
112
- output_img = cv2.addWeighted(original_np, 0.7, output_img, 0.3, 0)
113
-
114
- # 4. Adaptive contrast (CLAHE - BEST FINAL TOUCH)
115
- lab = cv2.cvtColor(output_img, cv2.COLOR_RGB2LAB)
116
- l, a, b = cv2.split(lab)
117
-
118
- clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
119
- l = clahe.apply(l)
120
 
121
- lab = cv2.merge((l, a, b))
122
- output_img = cv2.cvtColor(lab, cv2.COLOR_LAB2RGB)
 
 
123
 
124
  output_img = np.clip(output_img, 0, 255)
125
 
 
79
  # Convert tensor → numpy
80
  output = output.squeeze().permute(1, 2, 0).cpu().numpy()
81
 
82
+ # Handle range safely
83
  if output.min() < 0:
84
  output = (output + 1) / 2
85
 
86
  output = np.clip(output, 0, 1)
 
87
  output_img = (output * 255).astype(np.uint8)
88
 
89
  # Resize back
 
92
  output_img = np.array(output_img)
93
 
94
  # ---------------------------
95
+ # FINAL BALANCED PROCESSING
96
  # ---------------------------
97
 
98
+ # 1. Very light smoothing (remove artifacts)
99
  output_img = cv2.GaussianBlur(output_img, (3, 3), 0)
100
 
101
  # 2. Mild sharpening (safe)
 
106
  ])
107
  output_img = cv2.filter2D(output_img, -1, sharpen_kernel)
108
 
109
+ # 3. Color-safe blending (MOST IMPORTANT)
110
  original_np = np.array(img.resize(original_size))
111
+ output_img = cv2.addWeighted(original_np, 0.8, output_img, 0.2, 0)
 
 
 
 
 
 
 
112
 
113
+ # 4. Very light contrast (SAFE no color shift)
114
+ alpha = 1.05 # slight contrast
115
+ beta = 2 # slight brightness
116
+ output_img = cv2.convertScaleAbs(output_img, alpha=alpha, beta=beta)
117
 
118
  output_img = np.clip(output_img, 0, 255)
119