Spaces:
Runtime error
Runtime error
Commit
·
f9e7031
1
Parent(s):
7d65a14
fix
Browse files
app.py
CHANGED
|
@@ -6,19 +6,28 @@ from PIL import Image
|
|
| 6 |
import pytesseract
|
| 7 |
|
| 8 |
def enhance(img):
|
| 9 |
-
|
| 10 |
-
img,
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
act = [(150,240), (610,260)]
|
| 19 |
|
| 20 |
|
| 21 |
-
def align_images(ref_gray, input_gray, enh=
|
| 22 |
"""
|
| 23 |
Aligns the input image to the reference image using homography.
|
| 24 |
|
|
@@ -35,9 +44,11 @@ def align_images(ref_gray, input_gray, enh= True):
|
|
| 35 |
if enh:
|
| 36 |
ref_gray = enhance(ref_gray)
|
| 37 |
input_gray = enhance(input_gray)
|
|
|
|
|
|
|
| 38 |
|
| 39 |
# Detect ORB keypoints and descriptors
|
| 40 |
-
orb = cv2.ORB_create(nfeatures=
|
| 41 |
keypoints1, descriptors1 = orb.detectAndCompute(ref_gray, None)
|
| 42 |
keypoints2, descriptors2 = orb.detectAndCompute(input_gray, None)
|
| 43 |
|
|
|
|
| 6 |
import pytesseract
|
| 7 |
|
| 8 |
def enhance(img):
|
| 9 |
+
# Apply GaussianBlur to reduce noise
|
| 10 |
+
blurred = cv2.GaussianBlur(img, (5, 5), 0)
|
| 11 |
+
|
| 12 |
+
# Apply adaptive thresholding to enhance text
|
| 13 |
+
thresh = cv2.adaptiveThreshold(
|
| 14 |
+
blurred,
|
| 15 |
+
255,
|
| 16 |
+
cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
|
| 17 |
+
cv2.THRESH_BINARY,
|
| 18 |
+
11,
|
| 19 |
+
2
|
| 20 |
+
)
|
| 21 |
+
|
| 22 |
+
# Perform morphological operations to remove small noise and connect text components
|
| 23 |
+
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
|
| 24 |
+
morph = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel)
|
| 25 |
+
return morph
|
| 26 |
|
| 27 |
act = [(150,240), (610,260)]
|
| 28 |
|
| 29 |
|
| 30 |
+
def align_images(ref_gray, input_gray, enh= False):
|
| 31 |
"""
|
| 32 |
Aligns the input image to the reference image using homography.
|
| 33 |
|
|
|
|
| 44 |
if enh:
|
| 45 |
ref_gray = enhance(ref_gray)
|
| 46 |
input_gray = enhance(input_gray)
|
| 47 |
+
st.image(ref_gray)
|
| 48 |
+
st.image(input_gray)
|
| 49 |
|
| 50 |
# Detect ORB keypoints and descriptors
|
| 51 |
+
orb = cv2.ORB_create(nfeatures=1500)
|
| 52 |
keypoints1, descriptors1 = orb.detectAndCompute(ref_gray, None)
|
| 53 |
keypoints2, descriptors2 = orb.detectAndCompute(input_gray, None)
|
| 54 |
|