1、使用SSH遠程連接到樹莓派
2、新建存放代碼的目錄
mkdir /home/pi/my_code_directory
3、進入存放代碼的目錄
cd /home/pi/my_code_directory
4、新建py文件
nano cv2test.py
5、輸入代碼
import cv2# 打開攝像頭
cap = cv2.VideoCapture(0)while True:# 讀取視頻幀ret, frame = cap.read()# 顯示視頻幀cv2.imshow('Video', frame)# 按下'q'鍵退出循環if cv2.waitKey(1) & 0xFF == ord('q'):break# 釋放攝像頭和關閉窗口
cap.release()
cv2.destroyAllWindows()
先按鍵盤上的ctrl+o,再按回車保存,再按ctrl+x退出nano編輯器回到命令行界面。
6、執行代碼
python3 cv2test.py
由于是SSH連接,出現如下錯誤:
Unable to init server: 無法連接:拒絕連接?
(Video:25768): Gtk-WARNING **: cannot open display:
從錯誤消息看,這可能是因為正在嘗試在沒有圖形環境的服務器上運行帶有GUI界面的程序。OpenCV(cv2)通常需要顯示圖像,而在缺少圖形環境的情況下,它無法正常工作。
如果在遠程服務器或沒有圖形界面的系統上運行代碼,可以考慮以下解決方案:
確保代碼不需要圖形界面。如果您只使用OpenCV進行圖像處理、計算或保存圖像等操作,并不需要實時顯示圖像,可以通過在代碼中禁用圖形界面相關的功能來解決此問題。
如果確實需要實時顯示圖像,在本地機器上開啟一個圖形界面會話,并通過SSH將圖像顯示到本地。您可以使用X11 tunnelling來實現這一點。在進行SSH連接時,確保使用-X或-Y選項來啟用X11轉發。
解決方法:使用VNC遠程連接到樹莓派,重新進入目錄執行代碼,彈出圖像界面,程序正常運行