-
Notifications
You must be signed in to change notification settings - Fork 0
/
extract.py
65 lines (47 loc) · 1.57 KB
/
extract.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#program to extract roll numbers from ss
import cv2
import pytesseract
from pytesseract import Output
import glob
#import numpy as np
def send_details():
path = glob.glob("images/*")
details = []
for file in path:
print("glob-file = ", file)
image = cv2.imread(file)
custom_config = r'--oem 3 --psm 6'
dict1 = pytesseract.image_to_data(image, output_type=Output.DICT, config=custom_config, lang='eng')
details.append(dict1['text'])
#print(details)
return details
'''
#RECTANGULAR BOXES AROUND TEXT
n_boxes = len(details['text'])
for i in range(n_boxes):
if int(details['conf'][i]) > 60:
(x, y, w, h) = (details['left'][i], details['top'][i], details['width'][i], details['height'][i])
img = cv2.rectangle(result, (x, y), (x + w, y + h), (0, 255, 0), 2)
img = cv2.resize(img, (500,800)) # w,h
print(*details['text'], sep="\n")
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
'''
'''
#IMAGE THRESHOLDING
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
sharpen_kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
sharpen = cv2.filter2D(gray, -1, sharpen_kernel)
thresh = cv2.threshold(sharpen, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))
close = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel, iterations=1)
result = 255 - close
result = cv2.resize(result, (1280, 900))
cv2.imshow('sharpen', sharpen)
cv2.imshow('thresh', thresh)
cv2.imshow('close', close)
cv2.imshow('result', result)
cv2.waitKey()
cv2.destroyAllWindows()
'''