硬件平台:Jetson Nano
操作系统:Ubuntu 18.04


烧写系统:

安装时设置了十几个分区,造成Windows无法识别磁盘必须先用分区助手删除所有分区


摄像头调用:

def gstreamer_pipeline(
    capture_width=1280,
    capture_height=720,
    display_width=1280,
    display_height=720,
    framerate=60,
    flip_method=0,
):
    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,
        )
    )

# 调用摄像头 
cap = cv2.VideoCapture(gstreamer_pipeline(flip_method=0), cv2.CAP_GSTREAMER)

或者直接调用:

cap = cv2.VideoCapture("nvarguscamerasrc ! \
        video/x-raw(memory:NVMM), \
        width=(int)640, \
        height=(int)480, \
        format=(string)NV12, \
        framerate=(fraction)60/1 ! \
        nvvidconv flip-method=0 ! \
        video/x-raw, \
        width=(int)640, \
        height=(int)480, \
        format=(string)BGRx ! \
        videoconvert ! \
        video/x-raw, \
        format=(string)BGR ! \
        appsink",\
        cv2.CAP_GSTREAMER)