python-opencv调用双目相机拍摄视频并保存

友情提示:本实验用的双目相机是一个usb口的,所以调用摄像头那里只需要调用一个设备号为0的相机,后续进行对左右相机画面显示并保存时需要先将整张图像进行分割。(若使用两个相机,则需要调用设备号为0和1的两个设备,此时图像显示保存时对两个设备同时操作即可,不需要对图像进行分割)

#调用双目摄像头录像,按q退出录制

import cv2 as cv2
import time

cv2.namedWindow('left')
cv2.namedWindow('right')

camera = cv2.VideoCapture(0)  # 打开摄像头,摄像头的ID不同设备上可能不同

camera.set(cv2.CAP_PROP_FRAME_WIDTH, 2560)  # 设置双目的宽度(整个双目相机的图像宽度)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)  # 设置双目的高度

fourcc=cv2.VideoWriter_fourcc(*'XVID')       # fourcc编码为视频格式,avi对应编码为XVID
left=cv2.VideoWriter("D:/test/savevideo/zuo.avi",fourcc,20.0,(1280,720))    #(视频储存位置和名称,储存格式,帧率,视频大小)
right=cv2.VideoWriter("D:/test/savevideo/you.avi",fourcc,20.0,(1280,720))

while camera.isOpened():
    ret, frame = camera.read()
    print('ret:', ret)
    left_frame = frame[0:720, 0:1280]  # 裁剪坐标为[y0:y1,x0:x1]
    right_frame = frame[0:720, 1280:2560]
    if not ret:
        break

    left.write(left_frame)
    right.write(right_frame)
    cv2.imshow('left', left_frame)
    cv2.imshow('right', right_frame)

    if cv2.waitKey(1) == ord('q'):
        break

camera.release()
left.release()
right.release()
cv2.destroyAllWindows()

拍摄双目图像并保存代码:https://blog.csdn.net/weixin_47214888/article/details/129101427?spm=1001.2014.3001.5501

猜你喜欢

转载自blog.csdn.net/weixin_47214888/article/details/130225163