欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python调用摄像头拍摄数据集

程序员文章站 2023-11-20 16:07:58
之前需要做一些目标检测的训练,需要自己采集一些数据集,写了一个小demo来实现图片的采集 使用方法: 指定name的名称,name为分类的标签 按n键拍摄...

之前需要做一些目标检测的训练,需要自己采集一些数据集,写了一个小demo来实现图片的采集

使用方法:

  • 指定name的名称,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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。