ubuntu22.04中python读取四个摄像头并拼接显示,当按下s字母时弹窗输入文件名保存图片
时间: 2024-04-19 21:23:51 浏览: 148
利用摄像头拍照并保存照片程序(python实现,含UI界面)
你可以使用OpenCV库在Ubuntu 22.04中实现读取四个摄像头并拼接显示的功能,并在按下"s"键时弹出一个窗口以输入文件名保存图片。下面是一个简单的示例代码:
```python
import cv2
# 摄像头索引号,根据实际情况调整
camera_indexes = [0, 1, 2, 3]
# 创建摄像头对象
cameras = [cv2.VideoCapture(index) for index in camera_indexes]
# 检查摄像头是否打开成功
for camera in cameras:
if not camera.isOpened():
print(f"无法打开摄像头 {camera_indexes[cameras.index(camera)]}")
exit()
# 创建显示窗口
cv2.namedWindow("Camera Feed", cv2.WINDOW_NORMAL)
# 获取摄像头图像并拼接显示
while True:
frames = []
for camera in cameras:
ret, frame = camera.read()
frames.append(frame)
# 拼接图像
combined_frame = cv2.hconcat(frames)
# 显示图像
cv2.imshow("Camera Feed", combined_frame)
# 检测按键
key = cv2.waitKey(1) & 0xFF
if key == ord('s'):
# 弹出输入框获取文件名
file_name = input("请输入文件名以保存图片:")
# 保存图像
cv2.imwrite(file_name, combined_frame)
print("图片保存成功!")
elif key == ord('q'):
# 退出循环
break
# 释放摄像头和关闭窗口
for camera in cameras:
camera.release()
cv2.destroyAllWindows()
```
请注意,此代码假设您已将四个摄像头连接到计算机并正确配置了它们的索引号。您可以根据实际情况修改代码中的`camera_indexes`列表。
运行代码后,将显示一个窗口,其中包含四个摄像头的实时图像拼接。按下"s"键时,将弹出一个输入框要求您输入文件名以保存当前拼接图像。按下"q"键将退出程序。
希望能对您有所帮助!如有任何疑问,请随时提问。
阅读全文