python调用摄像头拍摄数据集

yipeiwu_com6年前Python基础

之前需要做一些目标检测的训练,需要自己采集一些数据集,写了一个小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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

最大K个数问题的Python版解法总结

TopK问题,即寻找最大的K个数,这个问题非常常见,比如从1千万搜索记录中找出最热门的10个关键词. 方法一: 先排序,然后截取前k个数. 时间复杂度:O(n*logn)+O(k)=O(...

关于sys.stdout和print的区别详解

关于sys.stdout和print的区别详解

一、sys.stdout的形式就是print的一种默认输出格式,等于print "%VALUE%" print函数是对sys.stdout的高级封装,看下print函数的解释 Pri...

python 正确保留多位小数的实例

python自带的float函数在保留两位小数的时候不够准确容易出现误差,而(‘%.2f' % a)的方式是将数字转成了字符串类型,无法进行数字运算,所以这里我们将封装一个方法来实现正确...

python按键按住不放持续响应的实例代码

在学习飞机大战(我也不知道为什么都拿这个练手),飞机左右控制都是按键按一次移动一次,不能按住一个键后持续移动,离开后停止移动。 为了解决这个,查看了参考手册,说让用pygame.key....

基于wxpython开发的简单gui计算器实例

本文实例讲述了基于wxpython开发的简单gui计算器。分享给大家供大家参考。具体如下: # wxCalc1 a simple GUI calculator using wxPyt...