import os
import threading
import time
import cv2
import numpy as np
cap1 = cv2.VideoCapture(0)
cap1.set(3,800)
cap1.set(4, 600)
cap2 = cv2.VideoCapture(1)
cap2.set(3,800)
cap2.set(4, 600)
# 拍照文件目录
folder = 'img/'
if os.path.exists(folder):
pass
else:
os.makedirs(folder)
# 拍照次数
counter = 1
def shot(pos, frame):
global counter
path = folder + pos + "_" + str(counter) + ".bmp"
cv2.imwrite(path, frame)
print("snapshot saved into: " + path)
#cv2.namedWindow("capture", 0)
while cap1.isOpened() and cap2.isOpened():
# success0 = cap1.grab()
# success1 = cap2.grab()
# if success0 and success1:
# frame1 = cap1.retrieve()
# frame2 = cap2.retrieve()
_, frame1 = cap1.read()
_, frame2 = cap2.read()
if not _:
break
# imgray = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# cv2.imshow("frame1", frame1)
# cv2.imshow("frame2", frame2)
frameUp = np.hstack((frame1, frame2))
cv2.imshow("frame2", frameUp)
k = cv2.waitKey(100) & 0xff
if k ==27: #Esc
# cv2.imwrite("frame1.jpg", frame1)
# cv2.imwrite("frame2.jpg", frame2)
break
elif k == ord('q'):
# 存储图片
# cv2.imwrite("camera.jpg", frameUp )
shot("left", frame1)
shot("right", frame2)
counter = counter + 1
# cv2.imwrite("frame1.jpg", frame1)
# cv2.imwrite("frame2.jpg", frame2)
continue
cap1.release()
cap2.release()