python使用opencv调用摄像头 *** 作

python使用opencv调用摄像头 *** 作,第1张

概述转自:Python3使用opencv调用摄像头录制高清视频教你如何利用python调用摄像头 #pip3installopencv-pythonimportcv2fromdatetimeimportdatetimeFILENAME='myvideo.avi'WIDTH=1280HEIGHT=720FPS=24.0#必须指定CAP_DSHOW(DirectShow)参数初始化摄像头

转自:

Python3使用opencv调用摄像头录制高清视频

教你如何利用python调用摄像头

 

#pip3 install opencv-pythonimport cv2from datetime import datetimefilename = 'myvIDeo.avi'WIDTH = 1280HEIGHT = 720FPS = 24.0# 必须指定CAP_DSHOW(Direct Show)参数初始化摄像头,否则无法使用更高分辨率cap = cv2.VIDeoCapture(0, cv2.CAP_DSHOW)# 设置摄像头设备分辨率cap.set(cv2.CAP_PROP_FRAME_WIDTH, WIDTH)cap.set(cv2.CAP_PROP_FRAME_HEIGHT, HEIGHT)# 设置摄像头设备帧率,如不指定,默认600cap.set(cv2.CAP_PROP_FPS, 24)# 建议使用XVID编码,图像质量和文件大小比较都兼顾的方案fourcc = cv2.VIDeoWriter_fourcc(*'XVID')out = cv2.VIDeoWriter(filename, fourcc, FPS, (WIDTH, HEIGHT))start_time = datetime.Now()while True:    ret, frame = cap.read()    if ret:        out.write(frame)        # 显示预览窗口        cv2.imshow('PrevIEw_Window', frame)        # 录制5秒后停止        if (datetime.Now()-start_time).seconds == 5:            cap.release()            break        # 监测到ESC按键也停止        if cv2.waitKey(3) & 0xff == 27:            cap.release()            breakout.release()cv2.destroyAllwindows()

  

# 1. 打开摄像头import cv2import numpy as np def vIDeo_demo():  capture = cv2.VIDeoCapture(0)#0为电脑内置摄像头  while(True):    ret, frame = capture.read()#摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像    frame = cv2.flip(frame, 1)#摄像头是和人对立的,将图像左右调换回来正常显示。    cv2.imshow("vIDeo", frame)    c = cv2.waitKey(50)    if c == 27:      breakvIDeo_demo()cv2.destroyAllwindows()#2. 打开摄像头并截图import cv2cap = cv2.VIDeoCapture(0, cv2.CAP_DSHOW) # 打开摄像头 while (1):  # get a frame  ret, frame = cap.read()  frame = cv2.flip(frame, 1) # 摄像头是和人对立的,将图像左右调换回来正常显示  # show a frame  cv2.imshow("capture", frame) # 生成摄像头窗口   if cv2.waitKey(1) & 0xFF == ord('q'): # 如果按下q 就截图保存并退出    cv2.imwrite("test.png", frame) # 保存路径    break cap.release()cv2.destroyAllwindows()#3. 打开摄像头并定时截图def vIDeo_demo():  print('开始')  cap = cv2.VIDeoCapture(0, cv2.CAP_DSHOW) # 电脑自身摄像头  i = 0#定时装置初始值  photoname = 1#文件名序号初始值   while True:    i = i + 1    reg, frame = cap.read()    frame = cv2.flip(frame, 1) # 图片左右调换    cv2.imshow('window', frame)     if i == 50: # 定时装置,定时截屏,可以修改。       filename = str(photoname) + '.png' # filename为图像名字,将photoname作为编号命名保存的截图      cv2.imwrite('C:/Users/administrator/Desktop/m' + '\' + filename, frame) # 截图 前面为放在桌面的路径 frame为此时的图像      print(filename + '保存成功') # 打印保存成功      i = 0 # 清零       photoname = photoname + 1      if photoname >= 20: # 最多截图20张 然后退出(如果调用photoname = 1 不用break为不断覆盖图片)        # photoname = 1        break    if cv2.waitKey(1) & 0xff == ord('q'):      break  # 释放资源  cap.release() vIDeo_demo()cv2.destroyAllwindows()

  

总结

以上是内存溢出为你收集整理的python使用opencv调用摄像头 *** 作全部内容,希望文章能够帮你解决python使用opencv调用摄像头 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存