赞
踩
目录
系统环境:Ubuntu 20.4,pycharm,anconda
git clone https://github.com/ultralytics/yolov5
安装好后会在当前路径生成一个yolov5的文件夹,点击requerments.txt查看自己环境是否满足
可以通过pip指令快速安装
- cd yolov5
- pip install -r requestments.txt
ultralytics是一个托管在pytoch的resource仓库的一个模型,有很多的模型选择,有大模型,小模型,中等模型等,不同的模型有不同的表现
- import torch
- import cv2
- '''
- #导入YOLOv5模型,第一个参数如果是 'github',应该被操作为 github repo with format ``repo_owner/repo_name[:ref]`` with an optional ref (tag or branch), for example 'pytorch/vision:0.10'. If ``ref`` is not specified,the default branch is assumed to be ``main`` if it exists, and otherwise ``master``.如果是本地资源 it should be a path to a local directory.
- '''
- #使用小模型保持轻量和快速
- model = torch.hub.load('ultralytics/yolov5', 'yolov5s')
-
- # 加载图像
- img = 'https://ultralytics.com/images/zidane.jpg'
-
- # 进行目标检测
- result = model(img)
-
- # 获取渲染后的图像
- rendered_img = result.render()[0]
-
- # 将图像从BGR转换为RGB
- rendered_img_rgb = cv2.cvtColor(rendered_img, cv2.COLOR_BGR2RGB)
-
- # 使用OpenCV显示图像
- cv2.imshow('YOLOv5 Detection Result', rendered_img_rgb)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
注意:如果不进行图像转化可能会导致图片的颜色失真
- import torch
- import cv2
- import numpy as np
- # 导入YOLOv5模型
- model = torch.hub.load('ultralytics/yolov5', 'yolov5s')
-
- # 加载图像
- img = 'https://ultralytics.com/images/zidane.jpg'
-
- # 进行目标检测
- result = model(img)
-
- cap=cv2.VideoCapture(0)#使用网络摄像头捕获图片
- while cap.isOpened():
- ret, frame = cap.read()
- result = model(frame)
- #result.render()只返回图像数组
- cv2.imshow('YOLO',np.squeeze(result.render()))
- if cv2.waitKey(10) & 0xFF == ord('q'):#如果检测到键盘按下q退出
- break
- cap.release()
- cv2.destroyAllWindows()
-
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- import uuid #给每个图片一个独特的ID
- import os
- import time
-
- import cv2
-
- IMAGES_PATH=os.paimport uuid
- import os
- import time
-
- import cv2
-
- IMAGES_PATH=os.path.join('data','images')#保存的地址为data/images
- labels=['awake','drowsy'] #标签名
- nums_imges=20 #拍摄一组标签要多少张
-
- cap=cv2.VideoCapture(0)
- for label in labels:
- #print(label)
- print('Collecting images for label: {}'.format(label))
- time.sleep(5)
- for img_num in range(nums_imges):
- print('Collecting images for image: {},image num {}'.format(label,img_num))
- ret, frame = cap.read()
- imgname=os.path.join(IMAGES_PATH,label+'.'+str(uuid.uuid1())+'.jpg')
- cv2.imwrite(imgname,frame)
- cv2.imshow('Image Collection',frame)
- time.sleep(2)
- if cv2.waitKey(1) & 0xFF == ord('q'):
- break
- cap.release()
- cv2.destroyAllWindows()
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
拍摄好后在data/image会存放我们拍摄的数据集
这里使用的是labelImg(比起labling他可以选择标签脚本的输出格式)
在这里查看自己的安装方式
https://github.com/HumanSignal/labelImg?tab=readme-ov-file
几个注意的点:1.选择保存的目标地址为labels(可以自己改名),2.左边第八个存储格式设置为YOLO!!!,然后就可以开始标注了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。