python 如何安装yolo
时间: 2024-02-04 18:03:31 浏览: 137
用Python实现yolo算法,用yolov部署网页 示范代码集.docx
要在 Python 中使用 YOLO,需要安装以下两个库:
1. Darknet:这是一个开源的深度学习框架,可以用于训练和测试 YOLO 模型。
2. OpenCV:这是一个计算机视觉库,用于读取图像和视频文件,以及在图像上绘制边界框等。
以下是在 Ubuntu 系统中安装 YOLO 的步骤:
1. 安装 CUDA 和 cuDNN:YOLO 的训练和推理都需要 GPU 加速,因此需要安装 NVIDIA 的 CUDA 和 cuDNN 库。
2. 克隆 Darknet 仓库:
```
git clone https://github.com/AlexeyAB/darknet.git
```
3. 编译 Darknet:
```
cd darknet
make
```
4. 下载 YOLO 模型:
```
wget https://pjreddie.com/media/files/yolov3.weights
```
5. 在 Python 中使用 YOLO:
```
import cv2
import numpy as np
# 加载 YOLO 配置文件和权重
net = cv2.dnn.readNet("darknet/cfg/yolov3.cfg", "yolov3.weights")
# 加载 YOLO 类别名称
with open("darknet/data/coco.names", "r") as f:
classes = [line.strip() for line in f.readlines()]
# 加载图像
img = cv2.imread("image.jpg")
# 将图像转换为 YOLO 输入格式
blob = cv2.dnn.blobFromImage(img, 1/255.0, (416, 416), swapRB=True, crop=False)
# 将输入数据设置为网络输入
net.setInput(blob)
# 运行 YOLO 目标检测
outs = net.forward(net.getUnconnectedOutLayersNames())
# 解析输出结果
class_ids = []
confidences = []
boxes = []
for out in outs:
for detection in out:
scores = detection[5:]
class_id = np.argmax(scores)
confidence = scores[class_id]
if confidence > 0.5:
center_x = int(detection[0] * img.shape[1])
center_y = int(detection[1] * img.shape[0])
width = int(detection[2] * img.shape[1])
height = int(detection[3] * img.shape[0])
left = int(center_x - width/2)
top = int(center_y - height/2)
class_ids.append(class_id)
confidences.append(float(confidence))
boxes.append([left, top, width, height])
# 绘制边界框和类别标签
for i in range(len(boxes)):
left, top, width, height = boxes[i]
cv2.rectangle(img, (left, top), (left+width, top+height), (0, 255, 0), 2)
cv2.putText(img, classes[class_ids[i]], (left, top-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 显示结果
cv2.imshow("YOLO", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行上述代码,即可在图像上绘制出 YOLO 目标检测的结果。
阅读全文