python+opencv 从摄像头视频中保存图片

生成数据集

这里我们需要从摄像头的实时视频中生成数据集,使用python+opencv库,代码如下:

import cv2

cap = cv2.VideoCapture(1) #计算机自带的摄像头为0,外部设备为1
i=0
while(1):
    ret,frame = cap.read()  #ret:True/False,代表有没有读到图片  frame:当前截取一帧的图片
    cv2.imshow("capture",frame) 
    
    if (cv2.waitKey(1) & 0xFF) == ord('s'): #不断刷新图像,这里是1ms 返回值为当前键盘按键值
        gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) #RGB图像转为单通道的灰度图像
        gray = cv2.resize(gray,(320,240)) #图像大小为320*240
        cv2.imwrite('F:/dlib-19.16/dlib-19.16/tools/imglab/build/images/%d.jpg'%i,gray)
        i += 1
    if (cv2.waitKey(1) & 0xFF) == ord('q'):
        break  
    
cap.release()
cv2.destroyAllWindows()

自己踩雷后,需要注意的地方!
文件路径中注意‘/’和‘\’的区别:我直接复制过来的路径是’F:\dlib-19.16\dlib-19.16\tools\imglab\build\images,但是这样无论如何在images文件夹中也找不到图片,需要将路径改成:'F:/dlib-19.16/dlib-19.16/tools/imglab/build/images

你可能感兴趣的:(机器学习,opencv)