列出与视频设备相关的设备文件
ls /dev/video*
显示与 /dev/video0 设备关联的摄像头支持的所有格式及其详细信息。可以查看输出以了解所支持的分辨率、帧率和像素格式等信息。请确保将/dev/video0 替换为实际摄像头设备的路径。
sudo apt install v4l-utils
v4l2-ctl --device=/dev/video0 --list-formats-ext
使用 GStreamer 框架的命令行工具 gst-launch-1.0,用于在 NVIDIA Jetson 平台上捕获摄像头图像并将其显示在屏幕上
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1280,height=720,framerate=30/1,format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=1280,height=720' ! nvvidconv ! nvegltransform ! nveglglessink -e
使用v4l2src 插件来捕获 USB 摄像头的视频流(假设设备文件为 /dev/video0)。然后,使用 nvvidconv 插件进行格式转换,并通过 nvegltransform 插件进行 EGL 图像转换。最后,使用 nveglglessink 插件将图像渲染到屏幕上
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720' ! nvvidconv ! nvegltransform ! nveglglessink -e
下载地址:https://code.visualstudio.com/docs/?dv=linuxarm64_deb
sudo dpkg -i code_1.85.1-1702461056_arm64.deb
运行 vscode
code
打开摄像头
打开编号为 0 的摄像头设备,并循环读取视频帧并显示。按下 ‘q’ 键将退出循环,并释放摄像头对象并销毁窗口。
import cv2
#这里的0代表设备编号
cap = cv2.VideoCapture(0)
while True:
success, img = cap.read()
cv2.imshow("Video", img)
if cv2.waitKeyEx(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
推荐视频地址:https://www.bilibili.com/video/BV1V34y1N7Gnp=5&vd_source=e59ac572ec140bd70ec15c3621a5ca34