如何通过SSH使用OpenCV访问Jetson TX2摄像头
在Windows通过GitBash SSH操作Jetson TX2板载摄像头的完整流程
我最近刚搞定这套操作流程,分享给大家参考:
1. 建立SSH连接
打开Windows上的GitBash,输入下面的命令连接你的Jetson TX2,记得把'你的IP地址'替换成TX2实际的局域网IP(比如192.168.1.105):
ssh nvidia@'你的IP地址'
2. 用GStreamer快速激活摄像头
连接成功后,执行这条命令就能立刻在TX2本地看到摄像头画面——用的是TX2的硬件加速组件,响应速度比普通方式快很多:
gst-launch-1.0 -ev nvcamerasrc ! nvoverlaysink
3. 用Python+OpenCV处理摄像头流
如果需要对摄像头画面做自定义处理,我准备了这个基础脚本,亲测可用:
import numpy as np import cv2 # 打开TX2板载摄像头对应的设备节点 cap = cv2.VideoCapture('/dev/video0') while(True): # 逐帧捕获画面 ret, frame = cap.read() # 检查是否成功获取帧,避免报错 if not ret: print("无法获取摄像头帧,请检查设备状态") break # 示例操作:将彩色画面转为灰度图 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 显示处理后的画面(⚠️ 纯SSH无图形界面时会报错,建议替换为保存帧到文件) cv2.imshow('Gray Camera Feed', gray) # 按q键退出循环 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放摄像头资源并关闭所有窗口 cap.release() cv2.destroyAllWindows()
小提醒:如果是没有配置X11转发的纯SSH连接,cv2.imshow会抛出异常,这时候可以把显示代码换成cv2.imwrite('captured_frame.jpg', gray)来保存帧,或者配置X11转发实现Windows端实时显示。
内容的提问来源于stack exchange,提问作者Ian Campbell Moore
相关产品推荐
相关产品推荐

