yolo11n-text / example_inference.py
RoyRud1902's picture
Upload 9 files
4b09a94 verified
"""
Example inference script for YOLO11n Text model.
Usage:
python example_inference.py --image path/to/image.jpg
python example_inference.py --image path/to/folder/
"""
import argparse
from pathlib import Path
from ultralytics import YOLO
def main():
parser = argparse.ArgumentParser(description="Text Detection Inference")
parser.add_argument("--image", required=True, help="Image file or folder path")
parser.add_argument("--conf", type=float, default=0.25, help="Confidence threshold")
parser.add_argument("--iou", type=float, default=0.7, help="NMS IoU threshold")
parser.add_argument("--imgsz", type=int, default=640, help="Input image size")
parser.add_argument("--save", action="store_true", help="Save annotated images")
parser.add_argument("--show", action="store_true", help="Display results")
args = parser.parse_args()
# Load model
model_path = Path(__file__).parent / "best.pt"
model = YOLO(str(model_path))
# Run inference
results = model.predict(
source=args.image,
conf=args.conf,
iou=args.iou,
imgsz=args.imgsz,
save=args.save,
show=args.show,
)
# Print results
for result in results:
print(f"\nImage: {result.path}")
print(f"Shape: {result.orig_shape}")
if result.boxes is not None and len(result.boxes) > 0:
print(f"Detected {len(result.boxes)} text regions:")
for i, box in enumerate(result.boxes):
xyxy = box.xyxy[0].tolist()
conf = box.conf[0].item()
print(f" [{i+1}] bbox: [{xyxy[0]:.1f}, {xyxy[1]:.1f}, {xyxy[2]:.1f}, {xyxy[3]:.1f}], conf: {conf:.3f}")
else:
print("No text regions detected")
if __name__ == "__main__":
main()