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)

(3) Once per turn (Quick Effect): You can target 1 card in either GY
Banlist History Restriction changes recorded for Ancient Gear Duel
Promo Info booster DOUBLE DIAMOND [BT-06] CLOSECLOSE BT6-058 C Digimon Lv.4 Nanimon Color Black Form Champion Attribute Virus Type Invader DP 2000 Cost 3 Digivolve Cost 1 2 from Lv.3 Digivolve Cost 2 - Upper Text [Security] At the end of the battle, play this card without paying its memory cost
Bash Brothers: With Syrus against the Paradox brothers