這份程式用來測試 Orin 上可用的攝影機 index,並開啟視窗顯示各攝影機的即時畫面。
主要功能:
CAM_INDEXES
範圍)。[OK] Camera x 可以使用
,失敗則顯示 [X] Camera x 無法開啟
。Camera 0
、Camera 1
。q
鍵即可結束程式並釋放所有攝影機資源。testCam_Index.py
import cv2
# 假設你最多有 5 支攝影機可以測(自己調整範圍)
CAM_INDEXES = range(5)
FRAME_W, FRAME_H = 640, 480
def open_cam(idx):
cap = cv2.VideoCapture(idx, cv2.CAP_V4L2)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, FRAME_W)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, FRAME_H)
cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*"MJPG"))
return cap
def main():
caps = []
for idx in CAM_INDEXES:
cap = open_cam(idx)
if cap.isOpened():
print(f"[OK] Camera {idx} 可以使用")
caps.append((idx, cap))
else:
print(f"[X] Camera {idx} 無法開啟")
if not caps:
print("找不到任何可用攝影機")
return
win_names = [f"Camera {idx}" for idx,_ in caps]
while True:
for (idx, cap), win in zip(caps, win_names):
ok, frame = cap.read()
if not ok:
print(f"[警告] Camera {idx} 讀取失敗")
continue
cv2.imshow(win, frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
for _, cap in caps:
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
main()