一、检测代码
可以在yolo项目代码的根目录,新建一个python文件,我这里叫做detect.py,代码的内容如下:
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO(r"yolo26n.pt") # 填写测试模型的路径
results = model("ultralytics/assets", save=True) #填写测试资源的路径,可以是图片、视频、文件夹的路径
for result in results:
xywh = result.boxes.xywh #中心点坐标和宽高信息 center-x, center-y, width, height
xywhn = result.boxes.xywhn # normalized代码由微智启软件工作室整理,转载标明出处
xyxy = result.boxes.xyxy # top-left-x, top-left-y, bottom-right-x, bottom-right-y
xyxyn = result.boxes.xyxyn # normalized
names = [result.names[cls.item()] for cls in result.boxes.cls.int()] #类别的名称 class name of each box
confs = result.boxes.conf #置信度的值 confidence score of each box

二、修改替换检测模型
默认填写的是yolo官方的模型,检测80种类别,如果希望使用自己的模型,实现自定义检测,只需要把yolo26n.pt修改成自己模型的路径即可。

例如下图所示的best.pt模型,可以采用相对或者绝对路径:

三、检测图片
1、检测图片,只需要把第一个参数,修改成图片的路径即可,其他参数可以保持不变,例如我想检测bus.jpg这个图片,那么只需要这样写就可以了。

2、检测完毕后,底部会输出检测的路径地址,一般为runs文件夹的最后一个文件夹(每运行一次检测,就会生成一个文件夹)

四、检测视频、文件夹
检测视频,和检测图片的步骤是一致的,只需要把图片的路径,改成对应的检测资源路径即可
检测视频
1、例如我想检测这个person.mp4的视频,那么我只需要把它填写进去,右键运行程序就行了

2、然后底部就会有如下的输出,红色框是每一帧输出的结果,绿色框为当前检测帧数和总的帧数(即为检测的进度)

3、如果想实时显示检测视频的结果,我们可以增加一个参数show=True ,如下图所示
results = model(r"person.mp4", save=True,show=True)
4、右下角,就是弹出的实时检测的视频窗口啦。

5、检测完毕后,在runs文件夹,依旧可以查看检测的结果视频,但是我们不能直接打开查看,因为我们现在这个是代码编辑器,它比较难支持视频的播放,会弹出右侧的弹窗

6、那么我们可以在文件夹中,使用系统的视频播放器,打开查看对应的视频结果

检测文件夹
有时候,我们需要检测很多张图片,一张一张的输入路径地址再检测,这是非常大的工作量。这时候,我们可以直接填写文件夹的路径,它就会依次检测里面的所有图片。
1、例如我想检测左边红框的两个图片,那么我就写上它的文件夹路径(蓝色框部分)
2、运行检测后,它就会依次检测啦,底部红色框为每一张图片的检测结果进度

3、输出的结果,依旧是在runs对应的文件夹

五、检测摄像头
检测摄像头,只需要把测试资源的路径,改成对应的设备序号就可以了,序号顺序从0开始,我这里只有一个摄像头,所以填写0(如果是第二个摄像头,可以填写1)。

摄像头检测,和视频一样,它默认不会实时显示检测的画面,这时候可以添加参数,show=True来实时查看,例如:
results = model(r"0", save=True,show=True)
yolov8v11检测
对于yolov8和yolov11,它们的步骤也都是一样的,只需要把模型改成对应的就可以了,代码是通用的,例如我的yolov8是这样的,就模型路径改变就行了。

