YoloV8环境配置

Conda新建环境并且安装Ultralytic包

Ultralytics把yolov8打包成了一个环境(里面包含了pytorch) 可以直接通过pip安装

这里插一嘴pip和conda的关系 pip是python官方提供的包下载器 conda是环境管理工具 如果你创建了python的conda环境 会自带pip下载器 所以比起直接在系统里调用pip安装ultralytics包到一些奇奇怪怪的地方 还是新建一个conda环境更方便

1
conda create -n [环境的名字] python=3.10

用Python调用Yolo

既然Yolov8已经打包好 那使用python调用也就调用别的包区别不大 直接新建一个Python项目

image-20240412104345667

用python脚本调用吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import cv2
from ultralytics import YOLO
from cv2 import getTickCount, getTickFrequency
# 加载 YOLOv8 模型
model = YOLO("yolov8n.pt")

# 获取摄像头内容,参数 0 表示使用默认的摄像头
cap = cv2.VideoCapture(0)

while cap.isOpened():
loop_start = getTickCount()
success, frame = cap.read() # 读取摄像头的一帧图像

if success:
results = model.predict(source=frame) # 对当前帧进行目标检测并显示结果
annotated_frame = results[0].plot()

# 中间放自己的显示程序
loop_time = getTickCount() - loop_start
total_time = loop_time / (getTickFrequency())
FPS = int(1 / total_time)
# 在图像左上角添加FPS文本
fps_text = f"FPS: {FPS:.2f}"
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 1
font_thickness = 2
text_color = (0, 0, 255) # 红色
text_position = (10, 30) # 左上角位置

cv2.putText(annotated_frame, fps_text, text_position, font, font_scale, text_color, font_thickness)
cv2.imshow('img', annotated_frame)
# 通过按下 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break

cap.release() # 释放摄像头资源
cv2.destroyAllWindows() # 关闭OpenCV窗口