python用opencv打开多个usb相机进行拍照,并保存照片到本地
时间: 2024-02-27 22:53:00 浏览: 156
opencv的双摄像头拍照并保存
可以使用OpenCV中的VideoCapture类来打开多个USB相机,并使用imwrite()方法将每个相机的拍摄到的照片保存到本地。以下是一个简单的示例代码:
``` python
import cv2
# 打开第一个相机
cap1 = cv2.VideoCapture(0)
# 打开第二个相机
cap2 = cv2.VideoCapture(1)
# 循环读取相机视频流
while True:
# 读取第一个相机的视频帧
ret1, frame1 = cap1.read()
# 读取第二个相机的视频帧
ret2, frame2 = cap2.read()
# 显示两个相机的视频流
cv2.imshow('Camera 1', frame1)
cv2.imshow('Camera 2', frame2)
# 按下空格键拍照并保存到本地
if cv2.waitKey(1) == 32:
cv2.imwrite('camera1.jpg', frame1)
cv2.imwrite('camera2.jpg', frame2)
print('Photos saved successfully!')
# 按下ESC键退出
if cv2.waitKey(1) == 27:
break
# 释放相机资源
cap1.release()
cap2.release()
# 关闭窗口
cv2.destroyAllWindows()
```
该代码首先使用VideoCapture类分别打开两个USB相机,然后在一个循环中读取两个相机的视频流,并显示在窗口中。当用户按下空格键时,程序会将每个相机的当前帧保存为一张图片并保存到本地,保存的文件名为"camera1.jpg"和"camera2.jpg"。按下ESC键即可退出程序。
阅读全文