Python调用摄像头拍摄照片,并实现按键控制

首页 / 学习笔记 / 正文
print("正在初始化摄像头...")
import cv2
import os   #对文件,文件夹执行操作的一个模块
import datetime  #datetime处理日期和时间的库

cap = cv2.VideoCapture(1)   #创建一个VideoCapture对象,此处插上摄像头,参数设置为1
print("初始化成功!")
#
name = "paishe"
#设置文件保存位置
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() #第一个参数返回一个布尔值(True/False),代表有没有读取到图片;第二个参数表示截取到一帧的图片
    gray = cv2.cvtColor(frame, 1)
    cv2.imshow('test', frame)
    now = datetime.datetime.now()
    now = now.strftime('%M-%S')
    savedname = '/'+name+'_'+str(i)+'_{0}''.jpg'.format(now)
    if cv2.waitKey(1) & 0xFF == ord('n'): #按N拍摄
        # ord('q'):返回q对应的Unicode码对应的值,q对应的Unicode数值为113
        # 0xFF:0xFF是一个位掩码,它将左边的24位设置为0。因为ord()在0和255之间返回一个值,因为您的键盘只有一个有限的字符集。
        i += 1
        cv2.imwrite(savedpath + savedname, frame)
        cv2.namedWindow("Image")
        cv2.imshow("Image", frame)
        cv2.waitKey(0)
        cv2.destroyAllWindows()

cap.release()
cv2.destroyAllWindows()  #删除窗口

运行效果:
微信图片_20220419163954.png

打赏
评论区
头像