进行双目标定时需要连续拍照,可用以下代码,按s拍照
# -*- coding: utf-8 -*-
# @Time : 2022/4/4 9:44
# @Author : zj
# @File : 拍照.py
# @Software: PyCharm
import os
from cv2 import cv2
import numpy as np
cam1 = cv2.VideoCapture(1, cv2.CAP_DSHOW) # 摄像头的ID不同设备上可能不同
cam2 = cv2.VideoCapture(1, cv2.CAP_DSHOW) # 摄像头的ID不同设备上可能不同
cam1.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) # 设置双目的宽度
cam1.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) # 设置双目的高度
while True:
ret, frame = cam1.read()
frame1 = frame[0:480, 0:640]
frame2 = frame[0:480, 640:1280]
cv2.imshow("frame1", frame1) # 左边原始输出
cv2.imshow("frame2", frame2) # 右边原始输出
# 读取文件夹下的所有图片,找到最后一张,以此生成下一张图片的文件名
files = os.listdir("images/left")
i = 0
for file in files:
num = file.split('.')[0].split('_')[-1]
i = max(i,int(num))
i = i+1
interrupt = cv2.waitKey(10)
if interrupt & 0xFF == 27: # 按下ESC退出程序
break
if interrupt & 0xFF == ord('s'):
cv2.imwrite('images/left/left_' + str(i) + '.jpg', frame1)
cv2.imwrite('images/right/right_' + str(i) + '.jpg', frame2)