用python实现调用d455相机进行每3秒进行一次拍照
时间: 2024-04-11 19:33:41 浏览: 57
要实现每3秒拍摄一次照片,您可以在代码中添加一个循环,并使用 `time.sleep()` 函数来等待3秒钟。以下是修改后的示例代码:
```python
import cv2
import pyrealsense2 as rs
import time
# 初始化 D455 相机
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
pipeline.start(config)
# 循环拍照
while True:
# 等待相机启动
frames = pipeline.wait_for_frames()
color_frame = frames.get_color_frame()
if not color_frame:
print("无法获取相机图像")
continue
# 将相机图像转换为 OpenCV 格式
image = np.asanyarray(color_frame.get_data())
# 保存图像
cv2.imwrite("photo.jpg", image)
print("已拍摄一张照片")
# 等待3秒
time.sleep(3)
# 关闭相机
pipeline.stop()
```
在此修改后的代码中,我们在一个无限循环中进行拍照操作。每次循环开始时,我们等待相机启动并获取图像帧。然后,我们将相机图像转换为 NumPy 数组并保存为 JPEG 文件。接着,我们使用 `time.sleep(3)` 函数来暂停程序执行3秒。这样,就能实现每3秒拍摄一次照片的功能。
请注意,由于这是一个无限循环,您可以按 Ctrl + C 来中断程序的执行。
希望对您有所帮助!
阅读全文