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

 

 

 

 

 

  • 11
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
### 回答1: 如果要在 Jetson Nano 上使用 CSI 摄像头,你需要执行以下步骤: 1. 安装所需的驱动程序和库。 2. 连接摄像头Jetson Nano 的 CSI 接口。 3. 验证摄像头是否正确连接,并确保其驱动程序正在正常工作。 4. 使用图像采集和处理工具(例如 OpenCV打开摄像头。 希望这些步骤能帮助你在 Jetson Nano 上成功打开 CSI 摄像头。 ### 回答2: Jetson Nano是一款能够快速处理计算机视觉和深度学习任务的嵌入式计算机,同时也支持接入CSI摄像头CSI摄像头能够提供更加清晰和稳定的图像,这对于许多实时计算机视觉和机器学习任务都是至关重要的。下面,我们将详细介绍如何在Jetson Nano上打开CSI摄像头。 1. 确认设备 首先,需要确认Jetson Nano上是否已经配置了CSI摄像头接口,这通常可通过检查板子上标记为"Camera"的连接器来实现。仔细检查CSI摄像头连接器是否损坏或粘住了一些东西,这可能会导致摄像头无法识别。 2. 连接CSI摄像头 接下来,将CSI摄像头插入Jetson Nano的CSI连接器中。确保摄像头正确对准连接器,然后轻轻旋转摄像头,直至插口处听到咔嚓一声,表示摄像头已经牢固安装。 3. 打开终端窗口 要打开CSI摄像头,需要打开终端窗口。可以单击桌面左上角的图标,在搜索框中键入“终端”,然后选择“终端应用程序”。另外,也可以使用快捷键Ctrl+Alt+T来快速打开终端窗口。 4. 安装GStreamer插件 在终端窗口中,需要先安装GStreamer插件以便支持CSI摄像头。在终端中输入以下命令并按“Enter”: sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev 输入密码后,按“Enter”即可开始安装。 5. 启动GStreamer 完成插件安装后,可以使用以下命令启动GStreamer: gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvoverlaysink -e 在这个命令中,nvarguscamerasrc代表摄像头源,video/x-raw(memory:NVMM)代表以NVIDIA内存管理器为基础的原始图像,width和height代表图像分辨率,framerate代表帧率,format代表图像格式,而nvoverlaysink代表向屏幕输出的虚拟创作器。 6. 打开CSI摄像头 现在,CSI摄像头已经准备就绪。可以通过按下CTRL+C来停止GStreamer,或在终端中使用其他命令和选项进行更多配置。 综上所述,Jetson Nano上打开CSI摄像头的步骤分为几个部分,包括确认设备、连接CSI摄像头打开终端窗口、安装GStreamer插件、启动GStreamer并最终打开CSI摄像头。通过以上步骤,Jetson Nano用户可以轻松实现CSI摄像头的使用,并提高深度学习和计算机视觉任务的效率。 ### 回答3: Jetson Nano 是一款功能强大的小型计算机,可以同时连接多个不同类型的外设,其中之一就是CSI摄像头CSI是一种高速串行接口,专门用于连接相机模块和主板,因此,CSI摄像头Jetson Nano上的应用有很大的优势。 Jetson Nano 支持CSI摄像头,但是,要想成功地打开CSI摄像头,需要进行一定的配置和操作。下面列出一些具体步骤: 1. 首先,确保Jetson Nano的系统已经正确安装,并且相应的驱动程序也已经安装好了。如果您没有安装驱动程序,需要先进行驱动程序的安装。 2. 接着,将CSI摄像头插入Nano板的CSI接口上。CSI接口Nano板的背面,可以在板子上找到。 3. 在Nano板上打开终端,运行以下命令: $ sudo apt-get update $ sudo apt-get install v4l-utils 这将确保v4l-utils工具已经正确安装在Jetson Nano上。 4. 接下来,运行以下命令来查看CSI摄像头是否被Nano板正确识别: $ v4l2-ctl –-list-devices 这会显示所有设备的列表,如果CSI摄像头被正确识别,将会显示为“VI Connected Device”。 5. 现在您可以打开CSI摄像头并开始捕捉视频。要打开CSI摄像头,请运行以下命令: $ gst-launch-1.0 nvarguscamerasrc sensor-mode=0 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1' ! nvvidconv ! nvegltransform ! nveglglessink -e 上述命令将打开摄像头并启动视频捕获,确保摄像头正对着所需要捕捉的场景。您可以通过调整sensor-mode选项来选择适当的模式适应您的应用程序。 总而言之,以上是在Jetson Nano上打开CSI摄像头的基本步骤和命令,通过这些步骤和命令,您应该能够成功地启动CSI摄像头并开始捕捉视频。当然,具体的操作应该根据您的情况和要求进行相应的调整和修改。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值