Views
No views yet
ribbon_main : main headline ribbonribbon_badge : small badge/label on the left (optional)ribbon_main, ribbon_badgeyolov8n_finetuned.ptpip install ultralytics easyocr opencv-python1from ultralytics import YOLO
2import easyocr
3
4model = YOLO("yolov8n_finetuned.pt")
5ocr_reader = easyocr.Reader(['en', 'id'])1import cv2
2import numpy as np
3
4def detect_and_read(frame, model, ocr_reader, conf=0.3):
5 results = model(frame, conf=conf, verbose=False)[0]
6 output = []
7
8 if results.boxes is None:
9 return output
10
11 for box in results.boxes:
12 cls_id = int(box.cls[0])
13 label = model.names[cls_id]
14 x1, y1, x2, y2 = map(int, box.xyxy[0])
15
16 crop = frame[y1:y2, x1:x2]
17 if crop.size == 0:
18 continue
19
20 texts = ocr_reader.readtext(crop)
21 text = " ".join([t[1] for t in texts])
22
23 output.append({
24 "label": label,
25 "bbox": (x1, y1, x2, y2),
26 "text": text
27 })
28
29 return output1img = cv2.imread("sample.png")
2results = detect_and_read(img, model, ocr_reader)
3
4for r in results:
5 print(r["label"], ":", r["text"])1SUCCESS: True
2TEXT: PRESIDEN SERAHKAN RP 465 M BONUS ATLET SEA GAMES
3BBOX: (324, 639, 1444, 736)