今日继续我的Jetsonnano学习之路,今日尝试开启一下USB摄像头,显示拍摄的内容。
测试代码是搬运的官方说明,这里只是作笔记记录学习:
目录
首先准备一个USB摄像头,它长这样,将它接在任何一个Jetson上的USB口就行了。

- import cv2
-
- if __name__ == "__main__":
-
- cap = cv2.VideoCapture(0)
-
- if cap.isOpened():
- window_handle = cv2.namedWindow("D435", cv2.WINDOW_AUTOSIZE)
-
- # 逐帧显示
- while cv2.getWindowProperty("D435", 0) >= 0:
- ret_val, img = cap.read()
- cv2.imshow("D435", img)
-
- keyCode = cv2.waitKey(30) & 0xFF
- if keyCode == 27:# ESC键退出
- break
-
- cap.release()
- cv2.destroyAllWindows()
- else:
- print("打开摄像头失败")
1. 首先导入了OpenCV库:import cv2
2. 在主函数中,判断程序是否运行在主线程中:if __name__ == "__main__":
3. 创建一个VideoCapture对象来打开摄像头,参数"0"表示打开默认摄像头:cap =cv2.VideoCapture(0)
4. 检查摄像头是否成功打开:if cap.isOpened()
5. 创建一个窗口来显示摄像头画面:window_handle = cv2.namedWindow("D435", cv2.WINDOW_AUTOSIZE)
6. 进入循环,逐帧读取摄像头画面,并在窗口中显示:while cv2.getWindowProperty("D435", 0) >= 0:
- 读取一帧画面:ret_val, img = cap.read()
- 在窗口中显示画面:cv2.imshow("D435", img)
- 等待30毫秒,检测是否按下任意键:keyCode = cv2.waitKey(30) & 0xFF
- 如果按下的是ESC键(对应键码27),则退出循环:if keyCode == 27:7. 在退出循环后,释放摄像头资源:cap.release()
8. 关闭窗口:cv2.destroyAllWindows()
9. 如果无法打开摄像头,打印提示信息:"打开摄像头失败"
