import cv2 import pytesseract import os directory = 'images' k = 1 # iterate over files in # that directory for filename in os.listdir(directory): f = os.path.join(directory, filename) # checking if it is a file if os.path.isfile(f): image = cv2.imread(f, 0) thresh = 255 - cv2.threshold(image, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] #bottom 2 locations ROI1 = thresh[1383:1447,77:154] ROI2 = thresh[1383:1447,950:1027] ROI = cv2.hconcat([ROI1, ROI2]) data = pytesseract.image_to_string(ROI, lang='eng',config='--psm 7 -c tessedit_char_whitelist=0123456789i' ) print(data) if os.path.isfile(f'images/{data}.jpg') == False: os.rename(f'{f}', f'images/{data}.jpg') else: os.rename(f'{f}', f'images/{data}.{k}.jpg') k = k + 1 cv2.destroyAllWindows()