kothariyashhh's picture
Upload 6 files
605bd6c verified
import cv2
import matplotlib.pyplot as plt
from ultralytics import YOLO
# Define a class for YOLO-based prediction
class YOLOPredictor:
def __init__(self, model_path):
# Initialize the YOLO model with the given model path
self.model = YOLO(model_path)
def predict(self, image_path):
# Use the model to predict objects in the image at the given path
results = self.model.predict(image_path)
# Plot the results on the image
result_img = results[0].plot()
# Convert the image from BGR to RGB (OpenCV uses BGR by default)
result_img = cv2.cvtColor(result_img, cv2.COLOR_BGR2RGB)
# Display the result image using matplotlib
plt.imshow(result_img)
plt.show()
# Check if the script is run directly (not imported as a module)
if __name__ == "__main__":
# Define the path to the YOLO model
model_path = 'model/best.pt'
# Define the path to the image to be processed
image_path = 'dataset/test/images/20230607-012140_jpg.rf.8c726235ab75ba1861f667676087e1dd.jpg'
# Create a YOLOPredictor object with the specified model path
predictor = YOLOPredictor(model_path)
# Predict and display the result for the given image
predictor.predict(image_path)