detect word
detect character
#download and install Tesseract
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = "C:\\Program Files\\Tesseract-OCR\\tesseract.exe"
img = cv2.imread("assets/text.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#print(pytesseract.image_to_string(img))
#print(pytesseract.image_to_boxes(img))
#detecting characters
"""
hImg, wImg, _ = img.shape
boxes = pytesseract.image_to_boxes(img)
for b in boxes.splitlines():
b = b.split(' ')
print(b)
x, y, w, h = (int(b[1]), int(b[2]), int(b[3]), int(b[4]))
cv2.rectangle(img, (x, hImg-y), (w, hImg-h), (0, 0, 255), 1)
cv2.putText(img, b[0], (x, hImg-y+25), cv2.FONT_HERSHEY_COMPLEX, 1, (50, 50, 255), 2)
"""
#detecting words
hImg, wImg, _ = img.shape
#detect only number
#conf = r"--oem 3 --psm 6 outputbase digits"
#boxes = pytesseract.image_to_data(img, config=conf)
boxes = pytesseract.image_to_data(img)
print(boxes)
for i, b in enumerate( boxes.splitlines()):
if i != 0:
b = b.split()
if len(b) == 12:
x, y, w, h = (int(b[6]), int(b[7]), int(b[8]), int(b[9]))
cv2.rectangle(img, (x, y), (w+x, h+y), (0, 0, 255), 1)
cv2.putText(img, b[11], (x, y), cv2.FONT_HERSHEY_COMPLEX, 1, (50, 50, 255), 2)
cv2.imshow('img', img)
cv2.waitKey(0)
------------------------
#logs for word recognition
(venv) C:\Users\zchen\PycharmProjects\opencv>python text_detection.py
level page_num block_num par_num line_num word_num left top width height conf text
1 1 0 0 0 0 0 0 1327 412 -1
2 1 1 0 0 0 3 50 1304 282 -1
3 1 1 1 0 0 3 50 1304 282 -1
4 1 1 1 1 0 3 50 1304 74 -1
5 1 1 1 1 1 3 55 138 55 95 Text
5 1 1 1 1 2 171 53 325 57 96 Detection
5 1 1 1 1 3 525 50 146 60 93 with
5 1 1 1 1 4 701 54 258 70 90 Opencv
5 1 1 1 1 5 987 53 52 56 96 in
5 1 1 1 1 6 1072 50 235 74 96 Python
4 1 1 1 2 0 6 165 686 71 -1
5 1 1 1 2 1 6 165 142 56 96 OCR
5 1 1 1 2 2 177 165 175 71 96 using
5 1 1 1 2 3 374 166 318 55 96 Tesseract
4 1 1 1 3 0 10 277 1172 55 -1
5 1 1 1 3 1 10 277 1172 55 88 123456789101112131415
-------------------------------
#logs for character recognition
(venv) C:\Users\zchen\PycharmProjects\opencv>python text_detection.py
['T', '3', '303', '43', '357', '0']
['e', '41', '302', '75', '344', '0']
['x', '80', '303', '113', '343', '0']
['t', '117', '302', '141', '353', '0']
['D', '171', '303', '212', '357', '0']
['e', '220', '302', '254', '344', '0']
['t', '259', '302', '284', '353', '0']
['e', '289', '302', '324', '344', '0']
['c', '332', '302', '361', '344', '0']
...
['0', '615', '80', '652', '135', '0']
['1', '682', '80', '713', '135', '0']
['1', '725', '80', '757', '135', '0']
['1', '788', '80', '819', '135', '0']
['2', '829', '80', '863', '135', '0']
['1', '894', '80', '925', '135', '0']
['3', '935', '80', '968', '135', '0']
['1', '1001', '80', '1032', '135', '0']
['4', '1039', '80', '1078', '135', '0']
['1', '1107', '80', '1138', '135', '0']
['5', '1148', '80', '1182', '135', '0']
reference:
No comments:
Post a Comment