#coding:utf-8
'''
Created on 2017年12月21日
@author: Administrator
'''
import cv2
import numpy as np
#配置摄像头1
cameraCapture1 = cv2.VideoCapture(1)
cameraCapture1.set(cv2.CAP_PROP_FRAME_WIDTH,320)
cameraCapture1.set(cv2.CAP_PROP_FRAME_HEIGHT,240)
cameraCapture1.set(cv2.CAP_PROP_FPS,5)
#配置摄像头2
cameraCapture2 = cv2.VideoCapture(2)
cameraCapture2.set(cv2.CAP_PROP_FRAME_WIDTH,320)
cameraCapture2.set(cv2.CAP_PROP_FRAME_HEIGHT,240)
cameraCapture2.set(cv2.CAP_PROP_FPS,5)
cv2.namedWindow('camera1')#创建UI
cv2.namedWindow('camera2')#创建UI
cv2.namedWindow('TotallImage')
success1, frame1 = cameraCapture1.read(1)
success2, frame2 = cameraCapture2.read(2)
#定义一个240*640的画板
canvas=np.zeros((240,640,3),dtype=np.uint8)
#canvas=cv2.cvtColor(canvas,cv2.COLOR_GRAY2BGR)
print(frame1.shape)
numPhoto = 0
while True :
success1, frame1 = cameraCapture1.read(1)
cv2.imshow('camera1', frame1)
success2, frame2 = cameraCapture2.read(2)
cv2.imshow('camera2', frame2)
#将左右两个图拼接到画板上
canvas[0:240,0:320]=frame1
canvas[0:240,320:640]=frame2
for i in range(0,240,20):
cv2.line(canvas,(0,i),(640,i),(0,255,0),1)
cv2.imshow('TotallImage', canvas)
key = cv2.waitKey(30)
#当按下ESC退出程序,当按下K键两个摄像头进行拍照并存储图片
if key ==27:
break
elif key == ord('k'):
if(numPhoto<10):
cv2.imwrite(u"./TwoCameraGetpicuture/left/left0%i.jpg"%(numPhoto),frame1)
cv2.imwrite(u"./TwoCameraGetpicuture/right/right0%i.jpg"%(numPhoto),frame2)
else:
cv2.imwrite(u"./TwoCameraGetpicuture/left/left%i.jpg"%(numPhoto),frame1)
cv2.imwrite(u"./TwoCameraGetpicuture/right/right%i.jpg"%(numPhoto),frame2)
numPhoto += 1
cv2.destroyWindow('camera1')
cv2.destroyWindow('camera2')
cameraCapture1.release()
cameraCapture2.release()