提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
由于本人研究生课题是深度学习目标检测方向、因此需要大量的数据集。在本地采样时,可以利用openCV提供的库函数完成照片采集。
一、采集方式
本代码通过调用摄像头显示图像信息,然后利用键盘截取视频帧保存到本地文件夹实现图片采集。
二、代码部分
import cv2
import os
#import time
#打开摄像头,一般内置为0,外接为1
cap = cv2.VideoCapture(0)
#cap.set(cv2.CAP_PROP_POS_FRAMES,50)
i = 0
#也可写成while True
while(1):
"""
ret:True或者False,代表有没有读取到图片
frame:表示截取到一帧的图片
"""
ret,frame = cap.read()
# 展示图片
cv2.imshow('capture',frame)
# 保存图片
k=cv2.waitKey(1)
if k==ord('k'):
cv2.imwrite(r"F:\sample\\"+ str(i) + ".jpg",frame) #存储路径
i = i + 1
#time.sleep(5)
"""
cv2.waitKey(1):waitKey()函数功能是不断刷新图像,返回值为当前键盘的值
OxFF:是一个位掩码,一旦使用了掩码,就可以检查它是否是相应的值
ord('q'):返回q对应的unicode码对应的值(113)
"""
if k==ord('q'):
break
#释放对象和销毁窗口
cap.release()
cv2.destroyAllWindows()
三、效果演示
运行代码后界面如下,键盘按动‘k’即可保存图片到本地:
按动‘q’即可退出。