Jetson TX2 打开CSI摄像头(避开opencv和gstreamer)
简介
TX2自带opencv4的库,除非你重新安装opencv,否则gstreamer就一直无法存视频,所以本文章避开gstreamer,这样不仅可以轻松使用csi也同时可以使用usb
下载Jetcam
在home 里下载jetcam
.
git clone https://github.com/NVIDIA-AI-IOT/jetcam
cd jetcam
sudo python setup.py install
使用nvgstcapture
打开摄像头,看看csi有没有什么问题,再继续
用Jetcam打开csi或者usb摄像头
用Jetcam打开csi或者usb摄像头
import cv2
from jetcam.csi_camera import CSICamera
# 创建CSI摄像头实例
camera = CSICamera(width=1280, height=720, capture_fps=30)
# 创建USB摄像头实例
#camera = USBCamera(width=1280, height=720, capture_fps=30)
# 定义视频的输出文件
output_filename = 'output_video.avi'
# 定义编解码器并创建 VideoWriter 对象
# 使用 'XVID' 编解码器,保存为 .avi 格式
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter(output_filename, fourcc, 30.0, (1280, 720))
# 持续捕获图像
while True:
frame = camera.read() # 读取当前帧
if frame is not None:
# 显示图像
cv2.imshow("CSI Camera", frame)
# 写入当前帧到文件
out.write(frame)
# 按下 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头资源并关闭窗口
out.release() # 释放视频写入对象
cv2.destroyAllWindows()