Jetson Nano 调试 CSI 接口的摄像头,并用 opencv 打开摄像头

最近看的东西比较杂,觉得自己以后可能需要的,就记录一下!

一、首先亮出代码的源地址:https://github.com/JetsonHacksNano/CSI-Camera ;

 

二、在 Nano 板子上插好 IMX219 型号的摄像头,输入以下代码测试一下:

$ nvgstcapture    (前面的 $ 是不需要输入的)

 

三、利用 Opencv 打开摄像头:

        前提:需要先安装 opencv 的库

import cv2


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,
        )
    )


def show_camera():
    cap = cv2.VideoCapture(gstreamer_pipeline(flip_method=0), cv2.CAP_GSTREAMER)

    while cap.isOpened():
        flag, img = cap.read()
        cv2.imshow("CSI Camera", img)
        kk = cv2.waitKey(1)

        # do other things

        if kk == ord('q'):  # 按下 q 键,退出
            break

    cap.release()
    cv2.destroyAllWindows()
    

if __name__ == "__main__":
    show_camera()

 

 

 

 

 

你可能感兴趣的:(jetson,nano,CSI,摄像头,opencv)