1:最近做一个双目测距小项目,需要通过对双目摄像头采集左右标定板图像,然后用matlab进行标定。下面是利用python代码对双目摄像头所拍摄的图片进行分割。

2:左右摄像机总分辨率1280x480;分割为左相机640x480、右相机640x480。

2.1首先设置双目的宽度和高度

cap = cv2.VideoCapture(1 + cv2.CAP_DSHOW)  # 电脑设置0,双目设置1
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)  # 设置双目的宽度
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)  # 设置双目的高度

2.2读取每帧图像判断

i=0
while True:
    ret, frame = cap.read()

    if not ret:
        print("camera is not connected!")
        break

2.3分割左右图像

    #裁剪坐标为[y0:y1, x0:x1]  HEIGHT * WIDTH
    left_frame = frame[0:480, 0:640]
    right_frame = frame[0:480, 640:1280]

2.4设置保存的图像张数,在项目目录下,建立两个文件夹,left和right.

k=cv2.waitKey(1)
    if k==27:
        break
    elif k==ord('s'):
        cv2.imwrite('D:/Develop/python_work2/pythonProject/2m/right/'+'right_'+str(i)+'.jpg',left_frame)
        cv2.imwrite('D:/Develop/python_work2/pythonProject/2m/left/'+'left_'+str(i)+'.jpg',right_frame)
        i+=1
    cv2.imshow('left',left_frame)
    cv2.imshow('right',right_frame)
    if cv2.waitKey(1)&0xFF ==ord('q'):
        break
left_frame.release()
right_frame.release()
cv2.destoryAllWindows()

3 保存操作,左右图像显示出来后,点击左右图像,按下s键即可自动保存。q退出。注意按键时,输入法要是英文。同时鼠标按键在图像上。最终得到左右图像。

在这里插入图片描述
在这里插入图片描述

4附完整代码:

import cv2
cap = cv2.VideoCapture(1 + cv2.CAP_DSHOW)  #电脑设置0,双目设置1
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)  # 设置双目的宽度
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)  # 设置双目的高度
i=0
while True:
    ret, frame = cap.read()

    if not ret:
        print("camera is not connected!")
        break

    left_frame = frame[0:480, 0:640]
    right_frame = frame[0:480, 640:1280]
    k=cv2.waitKey(1)
    if k==27:
        break
    elif k==ord('s'):
        cv2.imwrite('D:/Develop/python_work2/pythonProject/2m/right/'+'right_'+str(i)+'.jpg',left_frame)
        cv2.imwrite('D:/Develop/python_work2/pythonProject/2m/left/'+'left_'+str(i)+'.jpg',right_frame)
        i+=1
    cv2.imshow('left',left_frame)
    cv2.imshow('right',right_frame)
    if cv2.waitKey(1)&0xFF ==ord('q'):
        break
left_frame.release()
right_frame.release()
cv2.destoryAllWindows()
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐