This is the card This is what i do: Read the card and convert it to grayscale import cv2 import numpy as np import pytesseract from PIL import Image frame = cv2.imread(" ") imgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) Get the outer contour and resize the image edged = cv2.Canny(imgray, 30, 200) contours, hierarchy = cv2.findContours(edged, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) if len(contours) != 0: # find the biggest countour (c) by the area c = max(contours, key=cv2.contourArea) x, y, w, h = cv2.boundingRect(c) # draw the biggest contour (c) in green # cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) crop_frame = frame[y: y + h, x: x + w] crop_frame = cv2.resize(crop_frame, (450, 600), interpolation=cv2.INTER_AREA) Cut the bottom right corner height, width, channels = crop_frame.shape bottom_right_corner = crop_frame[560: 600, 300: 450] Read the bottom corner text with pytesseract ocr gray = cv2.cvtColor(bottom_right_corner, cv2.COLOR_BGR2GRAY) image_ = Image.fromarray(gray) text = pytesseract.image_to_string(image_) Final code import cv2 import numpy as np import pytesseract from PIL import Image frame = cv2.imread(" ") imgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) edged = cv2.Canny(imgray, 30, 200) contours, hierarchy = cv2.findContours(edged, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) if len(contours) != 0: # find the biggest countour (c) by the area c = max(contours, key=cv2.contourArea) x, y, w, h = cv2.boundingRect(c) # draw the biggest contour (c) in green # cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) crop_frame = frame[y: y + h, x: x + w] crop_frame = cv2.resize(crop_frame, (450, 600), interpolation=cv2.INTER_AREA) height, width, channels = crop_frame.shape bottom_right_corner = crop_frame[560: 600, 300: 450] gray = cv2.cvtColor(bottom_right_corner, cv2.COLOR_BGR2GRAY) cv2.imshow("gray", gray) cv2.waitKey(0) image_ = Image.fromarray(gray) text = pytesseract.image_to_string(image_) print("Text: ", text)

Banlist History Restriction changes recorded for Ancient Gear Duel
Genetic Apex Museum 1 (Charizard) There are three different Genetic Apex Museum secret missions, all of which are tied to getting the unique illustration cards
This might sound obvious, but an easy step you can take to verify the card is real is by checking that the card was an actual Pokmon card that was in print at some point
No way will you play this card in a friendly match and risk damaging it
Alolan Exeggutor EX SIR (#242) Current market price: $35$55 raw | $110$160 PSA 10 This one is polarizing