ocr_model / g-ocr.py
Atulit23's picture
Upload folder using huggingface_hub
2ea84fe verified
# import cv2
# import pytesseract
# import numpy as np
# image = cv2.imread('rzse0mcqxbgs8z2pf6lr.png')
# def get_grayscale(image):
# return cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# def remove_noise(image):
# return cv2.medianBlur(image,5)
# def thresholding(image):
# return cv2.threshold(image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
# def dilate(image):
# kernel = np.ones((5,5),np.uint8)
# return cv2.dilate(image, kernel, iterations = 1)
# def erode(image):
# kernel = np.ones((5,5),np.uint8)
# return cv2.erode(image, kernel, iterations = 1)
# def opening(image):
# kernel = np.ones((5,5),np.uint8)
# return cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)
# def canny(image):
# return cv2.Canny(image, 100, 200)
# def deskew(image):
# coords = np.column_stack(np.where(image > 0))
# angle = cv2.minAreaRect(coords)[-1]
# if angle < -45:
# angle = -(90 + angle)
# else:
# angle = -angle
# (h, w) = image.shape[:2]
# center = (w // 2, h // 2)
# M = cv2.getRotationMatrix2D(center, angle, 1.0)
# rotated = cv2.warpAffine(image, M, (w, h), flags=cv2.INTER_CUBIC, borderMode=cv2.BORDER_REPLICATE)
# return rotated
# def match_template(image, template):
# return cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)
# custom_config = r'--oem 3 --psm 6'
# pytesseract.image_to_string(image, config=custom_config)
# gray = get_grayscale(image)
# thresh = thresholding(gray)
# opening = opening(gray)
# canny = canny(gray)
# ocr = PaddleOCR(use_angle_cls=True, lang='en', use_pdserving=False, cls_batch_num=8, det_batch_num=8, rec_batch_num=8)
# ocr = PaddleOCR(use_angle_cls=True, lang='en')
# def index(url):
# response = requests.get(url)
# img = Image.open(BytesIO(response.content))
# resize_factor = 1
# new_size = tuple(int(dim * resize_factor) for dim in img.size)
# img = img.resize(new_size, Image.Resampling.LANCZOS)
# img_array = np.array(img.convert('RGB'))
# result = ocr.ocr(img_array)
# boxes = [line[0] for line in result]
# txts = [line[1][0] for line in result]
# scores = [line[1][1] for line in result]
# print(boxes)
# print(txts)
# output_dict = {"texts": txts, "boxes": boxes, "scores": scores}
# output_json = json.dumps(output_dict) # Convert to JSON string
# return output_json
import easyocr
image_url = 'https://res.cloudinary.com/ddvajyjou/image/upload/v1706960876/rzse0mcqxbgs8z2pf6lr.png'
reader = easyocr.Reader(['en'])
result = reader.readtext(image_url)
for (bbox, text, prob) in result:
print(f'Text: {text}, Probability: {prob}')