diff --git a/coffee-ocr.jpg b/coffee-ocr.jpg new file mode 100644 index 0000000..6eac1b7 Binary files /dev/null and b/coffee-ocr.jpg differ diff --git a/ocr.py b/ocr.py index b184de9..857f6f2 100644 --- a/ocr.py +++ b/ocr.py @@ -3,7 +3,8 @@ import pytesseract import numpy as np from pytesseract import Output -img_source = cv2.imread('images/coffee.jpg') +# img_source = cv2.VideoCapture(0) +img_source = cv2.imread('./coffee-ocr.jpg') def get_grayscale(image): @@ -23,26 +24,31 @@ def canny(image): return cv2.Canny(image, 100, 200) -gray = get_grayscale(img_source) -thresh = thresholding(gray) -opening = opening(gray) -canny = canny(gray) - -for img in [img_source, gray, thresh, opening, canny]: - d = pytesseract.image_to_data(img, output_type=Output.DICT) - n_boxes = len(d['text']) - - # back to RGB - if len(img.shape) == 2: - img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) - - for i in range(n_boxes): - if int(d['conf'][i]) > 60: - (text, x, y, w, h) = (d['text'][i], d['left'][i], d['top'][i], d['width'][i], d['height'][i]) - # don't show empty text - if text and text.strip() != "": - img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) - img = cv2.putText(img, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 3) - - cv2.imshow('img', img) - cv2.waitKey(0) \ No newline at end of file +def test_performance(): + gray = get_grayscale(img_source) + thresh = thresholding(gray) + opening = opening(gray) + canny = canny(gray) + + for img in [img_source, gray, thresh, opening, canny]: + d = pytesseract.image_to_data(img, output_type=Output.DICT) + print(d.keys()) + + n_boxes = len(d['text']) + + # back to RGB + if len(img.shape) == 2: + img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) + + for i in range(n_boxes): + if int(d['conf'][i]) > 60: + (text, x, y, w, h) = (d['text'][i], d['left'][i], d['top'][i], d['width'][i], d['height'][i]) + # don't show empty text + if text and text.strip() != "": + img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) + img = cv2.putText(img, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 1.2, (0, 255, 0), 3) + + cv2.imshow('img', img) + cv2.waitKey(0) + +print(pytesseract.image_to_data(img_source, output_type=Output.DICT)['text']) \ No newline at end of file