# 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}')