LeRobot 文件
攝像頭
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
攝像頭
LeRobot 為影片捕捉提供了多種選擇,包括手機攝像頭、筆記型電腦內建攝像頭、外接網路攝像頭和英特爾實感(Intel RealSense)攝像頭。要高效地從大多數攝像頭錄製幀,您可以使用 OpenCVCamera
或 RealSenseCamera
類。有關 OpenCVCamera
類的更多相容性詳情,請參閱 OpenCV 影片 I/O 概述。
查詢你的攝像頭
要例項化一個攝像頭,你需要一個攝像頭識別符號。這個識別符號可能會在你重啟電腦或重新插拔攝像頭時發生變化,這種行為主要取決於你的作業系統。
要查詢插入到你係統中的攝像頭的索引,請執行以下指令碼:
lerobot-find-cameras opencv # or realsense for Intel Realsense cameras
如果你連線了兩個攝像頭,輸出結果將類似於:
--- Detected Cameras ---
Camera #0:
Name: OpenCV Camera @ 0
Type: OpenCV
Id: 0
Backend api: AVFOUNDATION
Default stream profile:
Format: 16.0
Width: 1920
Height: 1080
Fps: 15.0
--------------------
(more cameras ...)
在 `macOS` 中使用英特爾實感攝像頭時,你可能會遇到這個 錯誤:Error finding RealSense cameras: failed to set power state
,這可以透過使用 sudo
許可權執行相同的命令來解決。請注意,在 `macOS` 中使用實感攝像頭是不穩定的。
使用攝像頭
下面是兩個示例,演示瞭如何使用該 API。
- 使用基於 OpenCV 的攝像頭進行非同步幀捕捉
- 使用英特爾實感攝像頭進行彩色和深度捕捉
Open CV 攝像頭
英特爾實感攝像頭
from lerobot.cameras.opencv.configuration_opencv import OpenCVCameraConfig
from lerobot.cameras.opencv.camera_opencv import OpenCVCamera
from lerobot.cameras.configs import ColorMode, Cv2Rotation
# Construct an `OpenCVCameraConfig` with your desired FPS, resolution, color mode, and rotation.
config = OpenCVCameraConfig(
index_or_path=0,
fps=15,
width=1920,
height=1080,
color_mode=ColorMode.RGB,
rotation=Cv2Rotation.NO_ROTATION
)
# Instantiate and connect an `OpenCVCamera`, performing a warm-up read (default).
camera = OpenCVCamera(config)
camera.connect()
# Read frames asynchronously in a loop via `async_read(timeout_ms)`
try:
for i in range(10):
frame = camera.async_read(timeout_ms=200)
print(f"Async frame {i} shape:", frame.shape)
finally:
camera.disconnect()
使用你的手機
Mac
Linux
要在 macOS 上使用 iPhone 作為攝像頭,請啟用連續互通相機功能。
- 確保你的 Mac 執行的是 macOS 13 或更高版本,iPhone 執行的是 iOS 16 或更高版本。
- 使用相同的 Apple ID 登入兩臺裝置。
- 使用 USB 資料線連線你的裝置,或開啟 Wi-Fi 和藍牙以進行無線連線。
更多詳情,請訪問 Apple 支援。
在下一節中執行攝像頭設定指令碼時,你的 iPhone 應該會被自動檢測到。