YOLO基本使用
1.准备模型、标签、配置
github地址:
https://github.com/AlexeyAB/darknet
下载cfg/coco.names
下载cfg/yolov4.cfg
2.新建一个项目
3.main.py
import cv2 import random # 加载文件 yolo_cfg = "E:\\Repository\\Git\\object-detection\\mask-detection\\model\\yolov4.cfg" yolo_weights = "E:\\Repository\\Git\\object-detection\\mask-detection\\model\\yolov4.weights" yolo_name = "E:\\Repository\\Git\\object-detection\\mask-detection\\model\\coco.names" img = "E:\\Repository\\Git\\object-detection\\mask-detection\\data\\val_19.jpg" # 网络设置 net = cv2.dnn_DetectionModel(yolo_cfg,yolo_weights) net.setInputSize(608, 608) net.setInputScale(1.0 / 255) net.setInputSwapRB(True) with open(yolo_name, 'rt') as f: names = f.read().rstrip('\n').split('\n') # 加载图像及类别 img = cv2.imread(img) # cv2.imshow('read img', img) # 模型检测 classes, confidences, boxes = net.detect(img, confThreshold=0.1, nmsThreshold=0.4) # 将检测结果显示到图像上 for classId, confidence, box in zip(classes.flatten(), confidences.flatten(), boxes): label = '%s: %.2f' % (names[classId], confidence) labelSize, baseLine = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, 0.5, 1) left, top, width, height = box top = max(top, labelSize[1]) b = random.randint(0,255) g = random.randint(0,255) r = random.randint(0,255) cv2.rectangle(img, box, color=(b, g, r), thickness=2) cv2.rectangle(img, (left-1, top - labelSize[1]), (left + labelSize[0], top), (b, g, r), cv2.FILLED) cv2.putText(img, label, (left, top), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255-b, 255-g, 255-r)) cv2.imshow('detect out', img) cv2.waitKey(0)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人