Python调用摄像头采集目标检测数据集简易Demo
本文介绍一个基于Python和OpenCV的简易数据采集工具,用于快速构建目标检测训练集。通过指定分类标签名,程序自动创建对应文件夹,并在运行窗口中按N键实时截取当前画面保存为带时间戳的JPG图片,帮助开发者高效完成自定义数据集的准备工作。
Python摄像头数据采集方案概述
在进行目标检测模型训练前,往往需要构建专属的数据集。为此,编写了一个简单的Python演示程序,用于实现从摄像头自动采集图片数据的功能。
具体使用步骤如下:
- 首先,在代码中指定变量name的值,该值将作为图片分类的标签名称。
- 在程序运行后的显示窗口中,按下键盘上的n键即可拍摄并保存一张图片。
- 执行后,程序会在当前运行目录下自动创建一个名为pictures的文件夹,所有拍摄的图片均保存至该文件夹内。
核心代码实现与逻辑解析
print("正在初始化摄像头...")
import cv2
import os
import datetime
cap = cv2.VideoCapture(0)
print("初始化成功!")
# name='play_phone'
# name='haqian'
# name='spleeing'
# name='zhengchang'
# name="zhedang"
name="waitou"
savedpath =r'./pictures/'+name
isExists = os.path.exists(savedpath)
if not isExists:
os.makedirs(savedpath)
print('path of %s is build' % (savedpath))
else:
print('path of %s already exist and rebuild' % (savedpath))
print("按N键拍摄图片")
i=0
while(True):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, 1)
cv2.imshow('test',frame)
now = datetime.datetime.now()
now = now.strftime('%m-%d-%H-%M-%S')
savedname = '/'+name+ '_' + str(i) + '_{0}' '.jpg'.format(now)
if cv2.waitKey(1) & 0xFF == ord('n'): #按N拍摄
i += 1
cv2.imwrite(savedpath + savedname, frame)
cv2.namedWindow("Image")
cv2.imshow("Image", frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
cap.release()
cv2.destroyAllWindows()
以上就是利用Python采集摄像头数据的核心流程,希望这段代码能为您的模型训练提供便利,欢迎参考使用。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













