Jetson Nano使用CSI摄像头以及USB摄像头(CSI摄像头打开失败,USB摄像头打不开)
生活随笔
收集整理的這篇文章主要介紹了
Jetson Nano使用CSI摄像头以及USB摄像头(CSI摄像头打开失败,USB摄像头打不开)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
一.Jestson Nano打開CSI攝像頭
二.Jestson Nano打開USB攝像頭
大功告成!編寫不易,大家成功后點個關(guān)注or贊謝謝~
注意:
網(wǎng)上非常多的代碼打不開的原因是要使用Python2!!!Python2!!!Python2!!!重要的事情說三遍!!!可能是因為Gstreamer管道只適用于Python2,如果后期找到Python3能運行的話再更新。
一.Jestson Nano打開CSI攝像頭
1.先檢查CSI和USB攝像頭是否已經(jīng)連接
ls /dev/vid*? ? 此處可以看到,video0是CSI攝像頭,另外三個是USB攝像頭
2.代碼如下:
# -*- coding: utf-8 -*- import cv2# 設(shè)置gstreamer管道參數(shù) def gstreamer_pipeline(capture_width=1280, #攝像頭預(yù)捕獲的圖像寬度capture_height=720, #攝像頭預(yù)捕獲的圖像高度display_width=1280, #窗口顯示的圖像寬度display_height=720, #窗口顯示的圖像高度framerate=60, #捕獲幀率flip_method=0, #是否旋轉(zhuǎn)圖像 ):return ("nvarguscamerasrc ! ""video/x-raw(memory:NVMM), ""width=(int)%d, height=(int)%d, ""format=(string)NV12, framerate=(fraction)%d/1 ! ""nvvidconv flip-method=%d ! ""video/x-raw, width=(int)%d, height=(int)%d, format=(string)BGRx ! ""videoconvert ! ""video/x-raw, format=(string)BGR ! appsink"% (capture_width,capture_height,framerate,flip_method,display_width,display_height,))if __name__ == "__main__":capture_width = 1280capture_height = 720display_width = 1280display_height = 720framerate = 60flip_method = 0# 創(chuàng)建管道print(gstreamer_pipeline(capture_width,capture_height,display_width,display_height,framerate,flip_method))#管道與視頻流綁定cap = cv2.VideoCapture(gstreamer_pipeline(flip_method=0), cv2.CAP_GSTREAMER)if cap.isOpened():window_handle = cv2.namedWindow("CSI Camera", cv2.WINDOW_AUTOSIZE)# 逐幀顯示while cv2.getWindowProperty("CSI Camera", 0) >= 0:ret_val, img = cap.read()cv2.imshow("CSI Camera", img)keyCode = cv2.waitKey(30) & 0xFF if keyCode == 27:# ESC鍵退出breakcap.release()cv2.destroyAllWindows()else:print("打開攝像頭失敗")3.運行:
python2 文件名.py二.Jestson Nano打開USB攝像頭
同理先查看上一步是否已經(jīng)有USB攝像頭了,如果有了的話可以直接上代碼
注:cap = cv2.VideoCapture(3)中的3,可以作修改,比如我輸入1就打不開攝像頭,但是2和3就可以。這里代碼可以直接使用Python3了
python3 文件名.py # -*- coding: utf-8 -*- import cv2if __name__ == "__main__":cap = cv2.VideoCapture(3)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鍵退出breakcap.release()cv2.destroyAllWindows()else:print("打開攝像頭失敗")大功告成!編寫不易,大家成功后點個關(guān)注or贊謝謝~~
總結(jié)
以上是生活随笔為你收集整理的Jetson Nano使用CSI摄像头以及USB摄像头(CSI摄像头打开失败,USB摄像头打不开)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hermit间谍软件“入侵”Androi
- 下一篇: python平行四边形的构造,8数培优: