当前位置:   article > 正文

用训练好的模型在Yolov8上进行推理演示python代码,含图像检测,视频推理,实时摄像头检测。_yolov8图像识别

yolov8图像识别

一,图像检测

用已经训练好的模型进行图像推理检测运行时注意修改图像和模型路径。

  1. # 引入opencv
  2. import cv2
  3. # 引入YOLO模型
  4. from ultralytics import YOLO
  5. # 打开图像
  6. img_path = "./img.jpg" # 这里修改你图像保存路径
  7. # 打开图像
  8. img = cv2.imread(filename=img_path)
  9. # 加载模型
  10. model = YOLO(model="yolov8n.pt") # 这里修改你图像保存路径
  11. # 正向推理
  12. res = model(img)
  13. # 绘制推理结果
  14. annotated_img = res[0].plot()
  15. # 显示图像
  16. cv2.imshow(winname="YOLOV8", mat=annotated_img)
  17. # 等待时间
  18. cv2.waitKey(delay=10000)
  19. # 绘制推理结果
  20. cv2.imwrite(filename="jieguo.jpeg", img=annotated_img)

二, 视频检测

用已经训练好的模型进行视频推理检测,运行时注意修改图像和模型路径。

  1. import cv2
  2. from ultralytics import YOLO
  3. # 加载模型
  4. model = YOLO(model="yolov8x.pt")
  5. # 视频文件
  6. video_path = "nanwangjinxiao.mp4"
  7. # 打开视频
  8. cap = cv2.VideoCapture(video_path)
  9. while cap.isOpened():
  10.     # 获取图像
  11.     res, frame = cap.read()
  12.     # 如果读取成功
  13.     if res:
  14.         # 正向推理
  15.         results = model(frame)
  16.         # 绘制结果
  17.         annotated_frame = results[0].plot()
  18.         # 显示图像
  19.         cv2.imshow(winname="YOLOV8", mat=annotated_frame)
  20.         # 按ESC退出
  21.         if cv2.waitKey(1) == 27:
  22.             break
  23.     else:
  24.         break
  25. # 释放链接
  26. cap.release()
  27. # 销毁所有窗口
  28. cv2.destroyAllWindows()

三,实时摄像头检测

这里默认打开的是你电脑本地摄像头(编号0)

  1. import cv2
  2. from ultralytics import YOLO
  3. # 加载模型
  4. model = YOLO(model="yolov8n.pt")
  5. # 摄像头编号
  6. camera_no = 0
  7. # 打开摄像头
  8. cap = cv2.VideoCapture(camera_no)
  9. while cap.isOpened():
  10.     # 获取图像
  11.     res, frame = cap.read()
  12.     # 如果读取成功
  13.     if res:
  14.         # 正向推理
  15.         results = model(frame)
  16.         # 绘制结果
  17.         annotated_frame = results[0].plot()
  18.         # 显示图像
  19.         CV2.imshow(winname="YOLOV8", mat=annotated_frame)
  20.         # 按ESC退出
  21.         if CV2.waitKey(1) == 27:
  22.             break
  23.     else:
  24.         break
  25. # 释放链接
  26. cap.release()
  27. # 销毁所有窗口
  28. cv2.destroyAllWindows()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/77950
推荐阅读
相关标签
  

闽ICP备14008679号