YOLOV3调用计算机摄像头或手机相机检测太阳位置

另有一篇记录的是从零开始训练自己的模型
YOLO算法训练模型检测太阳位置

环境:win10 GTX 1050 TI CUDA:10.2
一、使用电脑相机检测自己训练的模型
1、下载yolo-voc.weights,放在…\darknet-master\build\darknet
https://github.com/AlexeyAB/darknet/blob/Yolo_v3/README.md
在这里插入图片描述在这里插入图片描述
温馨提示:Github上下载经常会遇到网速慢的情况,这个时候你可以换个浏览器试一下。实在不行就进群拿吧1128630114,群里面还有YOLO相关的其他的配置文件。
双击darknet_web_cam_voc就可以调用自己相机加载官方的模型(这时候还不是自己的模型)。
检测效果如下:

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLOv8是一种基于深度学习的目标检测算法,它可以通过调用相机进行实时目标检测。下面是使用YOLOv8调用相机进行目标检测的步骤: 1. 安装YOLOv8:首先需要安装YOLOv8的相关依赖库和模型文件。可以通过在终端中运行命令来安装相关依赖库,例如使用pip安装: ``` pip install opencv-python pip install numpy ``` 模型文件可以从YOLOv8的官方网站或GitHub仓库中下载。 2. 导入库:在Python代码中导入所需的库,包括OpenCV和NumPy。 ```python import cv2 import numpy as np ``` 3. 加载模型:使用OpenCV加载YOLOv8的模型文件。 ```python net = cv2.dnn.readNetFromDarknet(config_file, weights_file) ``` 这里的`config_file`是YOLOv8的配置文件,`weights_file`是预训练的权重文件。 4. 打开相机:使用OpenCV打开相机。 ```python cap = cv2.VideoCapture(0) ``` 这里的`0`表示打开默认的摄像头,如果有多个摄像头可以选择其他编号。 5. 循环读取帧并进行目标检测:在一个循环中,不断读取相机的帧,然后使用YOLOv8进行目标检测。 ```python while True: ret, frame = cap.read() if not ret: break # 对帧进行预处理 blob = cv2.dnn.blobFromImage(frame, 1/255, (416, 416), swapRB=True, crop=False) # 设置输入层 net.setInput(blob) # 运行前向传播 detections = net.forward() # 处理检测结果 for detection in detections: # 提取类别、置信度和边界框信息 class_id = np.argmax(detection[5:]) confidence = detection[4] if confidence > confidence_threshold: # 绘制边界框和类别标签 ... # 显示结果 cv2.imshow('YOLOv8', frame) # 按下q键退出循环 if cv2.waitKey(1) == ord('q'): break # 释放资源 cap.release() cv2.destroyAllWindows() ``` 在上述代码中,我们首先读取相机的帧,然后对帧进行预处理,设置输入层,运行前向传播得到检测结果,最后处理检测结果并显示在窗口中。按下q键可以退出循环。 这样就可以使用YOLOv8调用相机进行实时目标检测了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值