Khalil09 commited on
Commit
6a72bd2
·
verified ·
1 Parent(s): de7a158

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -0
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import cv2
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ st.title("🖼️ Image Quality Enhancer")
7
+
8
+ # Upload image
9
+ uploaded_file = st.file_uploader("Upload an image", type=["jpg", "png", "jpeg"])
10
+
11
+ def enhance_image(image):
12
+ # Convert to OpenCV format
13
+ img = np.array(image)
14
+
15
+ # Convert to BGR (for OpenCV)
16
+ img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
17
+
18
+ # 1. Denoising
19
+ denoised = cv2.fastNlMeansDenoisingColored(img, None, 10, 10, 7, 21)
20
+
21
+ # 2. Sharpening
22
+ kernel = np.array([[0, -1, 0],
23
+ [-1, 5,-1],
24
+ [0, -1, 0]])
25
+ sharpened = cv2.filter2D(denoised, -1, kernel)
26
+
27
+ # 3. Convert back to RGB
28
+ final = cv2.cvtColor(sharpened, cv2.COLOR_BGR2RGB)
29
+
30
+ return final
31
+
32
+ if uploaded_file is not None:
33
+ image = Image.open(uploaded_file)
34
+
35
+ st.subheader("Original Image")
36
+ st.image(image, use_column_width=True)
37
+
38
+ if st.button("Enhance Image"):
39
+ enhanced = enhance_image(image)
40
+
41
+ st.subheader("Enhanced Image")
42
+ st.image(enhanced, use_column_width=True)
43
+
44
+ # Download option
45
+ result = Image.fromarray(enhanced)
46
+ st.download_button(
47
+ label="Download Enhanced Image",
48
+ data=result.tobytes(),
49
+ file_name="enhanced.png",
50
+ mime="image/png"
51
+ )