ubuntu系统yolov11摄像头
时间: 2024-12-26 11:22:25 浏览: 4
### YOLOv1与摄像头集成
为了在Ubuntu系统上实现YOLOv1与摄像头的集成,需先完成一系列准备工作并编写相应的Python脚本。
#### 安装依赖库
确保已安装必要的软件包和工具链。对于Darknet框架,在Ubuntu环境下通常需要编译源码来获取最佳性能[^1]:
```bash
sudo apt-get update && sudo apt-get install -y build-essential git wget libopencv-dev python3-opencv
```
接着克隆AlexeyAB版本的Darknet仓库,并按照官方说明调整Makefile以便支持GPU加速(如果硬件允许的话)。完成后执行`make`命令构建项目文件夹内的二进制程序。
#### 获取预训练模型权重
访问YOLO官方网站或其他可信资源站点下载对应于YOLOv1架构的预训练参数文件(通常是`.weights`格式),并将此文件放置到指定目录下备用。
#### 编写测试代码
创建一个新的Python脚本来读取实时视频流并对每一帧图像应用目标检测算法处理。下面给出了一段简单的示范代码片段用于启动USB摄像机设备并调用Darknet API接口进行推理运算:
```python
import cv2
from darknet import performDetect, load_network_custom
if __name__ == "__main__":
netMain = None
configPath = "./cfg/yolov1.cfg"
weightPath = "yolo-voc.weights"
metaPath = "./data/voc.data"
if not os.path.exists(configPath):
raise ValueError("Invalid config path `" +
os.path.abspath(configPath)+"`")
network, class_names, class_colors = load_network_custom(
configPath=configPath,
weightsPath=weightPath,
metaPath=metaPath)
cap = cv2.VideoCapture(0)
while True:
ret, frame_read = cap.read()
detections = performDetect(image_path=None,
thresh=0.25,
configPath=configPath,
weightPath=weightPath,
metaPath=metaPath,
showImage=False,
makeImageOnly=True,
initOnly=(network is None))
image = cv2.cvtColor(frame_read, cv2.COLOR_BGR2RGB)
for detection in detections:
label = str(detection[0])
confidence = float(detection[1])
bounds = detection[2]
shape = [image.shape[1], image.shape[0]]
thickness = (shape[0] + shape[1]) // 800
# 绘制边界框
pstring = f"{label}: {confidence:.2f}"
textOrg = (int(bounds[0]), int(bounds[1]))
cv2.rectangle(image, tuple(map(int,bounds[:2])),tuple(map(int,(bounds[0]+bounds[2],bounds[1]+bounds[3]))),class_colors[label],thickness)
cv2.putText(image,pstring,textOrg,cv2.FONT_HERSHEY_DUPLEX,.7,class_colors[label])
result_image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
cv2.imshow('Demo',result_image)
k=cv2.waitKey(1)&0xff
if k==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
这段代码实现了从默认摄像头捕获画面并通过加载好的YOLO网络来进行对象识别的功能。注意这里假设已经正确设置了环境变量以及路径指向有效的配置文件、权值文件和数据集描述文件。
阅读全文