yolov5调用电脑摄像头和识别本地图片或视频

书接上文,yolov5环境搭建(Windows下cpu训练)-CSDN博客  完成后,尝试调用电脑摄像头实现动态识别或者识别本地图片或视频,方法非常简单。

一.调用电脑摄像头

1.复制使用模型路径

在上文中,train.py运行完成后,打开yolov5\runs\train,找到最新的exp前缀的文件夹,我的在exp2

点击进入后,打开weights文件夹,有两个文件,如图,

一个best.pt和一个last.pt,这两个文件就是我们训练得到的模型。

best.pt 和 last.pt 是在训练深度学习模型时保存的两个不同的模型文件。

last.pt 包含最后一次训练迭代的模型参数。

### 如何在YOLOv5中使用外部USB摄像头进行实时目标检测 #### 修改配置文件以支持USB摄像头输入 为了使YOLOv5能够识别并使用外部USB摄像头,在`detect.py`脚本中的参数设置部分需做相应调整。具体来说,将源路径(`source`)选项由默认值更改为表示第一个可用视频捕获设备索引的字符串'0'[^1]。然而需要注意的是,这里的索引并不总是代表物理连接顺序;有时可能需要试验不同的数值来找到正确的摄像头条目[^2]。 对于想要指定某个特定外接USB摄像头的情况,如果发现系统仍然优先选择了内建 webcam,则应先通过设备管理器确认所有已安装成像装置的状态,并考虑暂时停用不需要使用的内置单元以便让程序自动选取剩余的那个作为输入源。 #### 编写Python代码启动对象探测流程并与选定硬件交互 下面给出了一段示范性的 Python 脚本片段用于执行上述操作: ```python import torch from pathlib import Path import cv2 def main(): weights = 'yolov5s.pt' imgsz = 640 # 初始化模型 model = torch.hub.load('ultralytics/yolov5', 'custom', path=weights) source = "1" # 假设外部USB摄像头为第二个设备, 可能需要更改此值以匹配实际环境 cap = cv2.VideoCapture(int(source)) while True: ret, frame = cap.read() if not ret: break results = model(frame) result_frame = results.render()[0] cv2.imshow('YOLO v5 Detection', result_frame) key = cv2.waitKey(1) & 0xFF if key == ord("q"): break cap.release() cv2.destroyAllWindows() if __name__ == "__main__": main() ``` 这段代码实现了加载预训练权重、初始化YOLOv5实例化对象、打开指定ID号的视频流(此处假设为1),接着在一个无限循环里持续读取每一帧画面送入网络预测,最后显示带有边界框标记的结果图像直至按下键盘上的Q键退出。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值