利用机器狗Go1的外置摄像头录取视频
有窗口显示
import cv2
import timeimport random
import string
result1 = ''.join(random.sample(string.ascii_letters + string.digits, 8)) #获取随机字符串,电脑没联网,无法更新时间time_now = time.strftime("%Y-%m-%d-%H_%M", time.localtime()) #获取当前时间,命名中含有时间
def videocapture():cap=cv2.VideoCapture(1) #内置的话就换成0width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #fps = cap.get(cv2.CAP_PROP_FPS) #fourcc = int(cap.get(cv2.CAP_PROP_FOURCC)) ###writer = cv2.VideoWriter((result1+"_video_result.mp4"), fourcc, fps, (width, height))writer = cv2.VideoWriter((time_now+"_video_result.mp4"), fourcc, fps, (width, height))while cap.isOpened():ret, frame = cap.read() #cv2.imshow('teswell', frame) # 展示key = cv2.waitKey(24)writer.write(frame) ## if key == ord('q'):breakcap.release() #cv2.destroyAllWindows() #if __name__ == '__main__' :videocapture()
无窗口显示
import cv2
import timeimport random
import string
result1 = ''.join(random.sample(string.ascii_letters + string.digits, 8)) #获取随机字符串,电脑没联网,无法更新时间time_now = time.strftime("%Y-%m-%d-%H_%M", time.localtime()) #获取当前时间,命名中含有时间
def videocapture():cap=cv2.VideoCapture(1) #内置的话就换成0width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #fps = cap.get(cv2.CAP_PROP_FPS) #fourcc = int(cap.get(cv2.CAP_PROP_FOURCC)) ###writer = cv2.VideoWriter((result1+"_video_result.mp4"), fourcc, fps, (width, height))writer = cv2.VideoWriter((time_now+"_video_result.mp4"), fourcc, fps, (width, height))while cap.isOpened():ret, frame = cap.read() ##cv2.imshow('teswell', frame) # 展示#key = cv2.waitKey(24)if not ret:#print("Can't receive frame (stream end?). Exiting ...")breakwriter.write(frame) #cap.release() #释放窗口#cv2.destroyAllWindows() #if __name__ == '__main__' :videocapture()
参考
https://blog.csdn.net/LaoYuanPython/article/details/115716366
import cv2 def captureVideoFromCamera():cap = cv2.VideoCapture(0,cv2.CAP_DSHOW)WIDTH = 1920HEIGHT = 1920FILENAME = r'f:\video\myvideo.avi'FPS = 24cap.set(cv2.CAP_PROP_FPS, 24)# 建议使用XVID编码,图像质量和文件大小比较都兼顾的方案fourcc = cv2.VideoWriter_fourcc(*'XVID')out = cv2.VideoWriter(FILENAME, fourcc=fourcc, fps=FPS,frameSize=(WIDTH,HEIGHT))if not cap.isOpened():print("Cannot open camera")exit()while True:# 逐帧捕获ret, frame = cap.read()# 如果正确读取帧,ret为Trueif not ret:print("Can't receive frame (stream end?). Exiting ...")breakframe = cv2.flip(frame, 1) # 水平翻转ret = out.write(frame)gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# 显示结果帧ecv2.imshow('frame', frame)if cv2.waitKey(1) == ord('q'): break# 完成所有操作后,释放捕获器out.release()cap.release()cv2.destroyAllWindows()captureVideoFromCamera()
参考
https://www.jb51.net/article/253703.htm
import cv2def videocapture():cap=cv2.VideoCapture(0) #生成读取摄像头对象width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #获取视频的宽度height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #获取视频的高度fps = cap.get(cv2.CAP_PROP_FPS) #获取视频的帧率fourcc = int(cap.get(cv2.CAP_PROP_FOURCC)) #视频的编码#定义视频对象输出writer = cv2.VideoWriter("video_result.mp4", fourcc, fps, (width, height))while cap.isOpened():ret, frame = cap.read() #读取摄像头画面cv2.imshow('teswell', frame) #显示画面key = cv2.waitKey(24)writer.write(frame) #视频保存# 按Q退出if key == ord('q'):breakcap.release() #释放摄像头cv2.destroyAllWindows() #释放所有显示图像窗口if __name__ == '__main__' :videocapture()
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
