Jetsonnano B01 笔记6:开启USB摄像头

今日继续我的Jetsonnano学习之路,今日尝试开启一下USB摄像头,显示拍摄的内容。

测试代码是搬运的官方说明,这里只是作笔记记录学习:

 

目录

额外模块准备:

测试代码分析:

运行效果:


额外模块准备:

首先准备一个USB摄像头,它长这样,将它接在任何一个Jetson上的USB口就行了。

Jetsonnano B01 笔记6:开启USB摄像头_第1张图片

 

测试代码分析:

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. 如果无法打开摄像头,打印提示信息:"打开摄像头失败"

运行效果:

你可能感兴趣的:(Jetsonnano,B01,笔记,Jetsonnano,B01,linux)