python调用摄像头拍摄数据集

yipeiwu_com5年前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设计】。

相关文章

Selenium 模拟浏览器动态加载页面的实现方法

相信爬取大公司的数据时,常常会遇到页面信息动态加载的问题, 如果仅仅使用content = urllib2.urlopen(URL).read(),估计信息是获取不全的,这时候就需要模拟...

Python当中的array数组对象实例详解

Python当中的array数组对象实例详解

计算机为数组分配一段连续的内存,从而支持对数组随机访问; 由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。 数组的基本地址...

python使用matplotlib画柱状图、散点图

python使用matplotlib画柱状图、散点图

本文实例为大家分享了python使用matplotlib画柱状图、散点图的具体代码,供大家参考,具体内容如下 柱状图(plt.bar) 代码与注释 import numpy as n...

python flask web服务实现更换默认端口和IP的方法

flask web后台启动后会发现默认是 localhost 127.0.0.1:5000 如果需要修改,方便调试发布 可以采用以下方式运行 from flask import Fl...

python清空命令行方式

python清空命令行 ! 有时我们在命令行上运行一些代码时,觉得有些冗余了,可以通过以下代码进行清除命令行上的代码。 import os def clear():os.system...