许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  NVIDIA Jetson Xavier NX从装机到基于自带OpenCV4的简单Demo

NVIDIA Jetson Xavier NX从装机到基于自带OpenCV4的简单Demo

阅读数 4
点赞 0
article_banner

前言

本文简单介绍了我在NVIDIA Jetson Xavier Nx上从装机到基于自带opencv4的简单demo过程,有些网上已有的仅给出参考链接及简单注意项。本文也是我的一个简单备忘,以便后续如果重新装机所需

一、开机烧录

这个很简单照着下面转载的链接下载最新官方镜像进行操作即可,下载时建议复制下载链接使用迅雷下载,个人感觉速度会快一些。

转载链接:NVIDIA Jetson Xavier NX 开发套件刷机教程

二、安装固态硬盘

这一步非必须,没必要特地买SSD

我是因为正好有多余的固态硬盘,就顺便装上去了,提升一下速度和容量。主板背面Wi-Fi模块旁边还有一个卡槽,将固态硬盘插上去即可,配置可以参照下面转载的链接进行。

注意:如果已经配置过swap大小,请先禁用并去除,否则swfile文件会储存在TF卡中。等切换成SSD之后,再分配swap空间并启用

转载链接:仅两步,把JETSON XAVIER NX的系统移动到nvme硬盘上

jtop中的Dsk仅能显示当前磁盘状态,而不是整机,即换成SSD之后就只能显示SSD,不再显示TF或是两者相加。

jtop中的Dsk仅能显示当前磁盘状态,而不是整机,即换成SSD之后就只能显示SSD,不再显示TF或是两者相加。

三、配置基本环境

这一步也比较简单,照着下面转载的链接做就行了。

转载链接:带你玩转Jetson Xavier NX系列教程 | Xavier NX 环境变量配置,风扇控制以及Jtop安装

我的jtop配置如下图,仅供参考。

我配置了最大15G的swap空间并使能

我配置了最大15G的swap空间并使能

我这边配置启用jetson时钟并且开机自动使能,风扇模式使用system,使得风扇在每次开机后可以自动控制风量,功耗改为15瓦6核的最大功耗以提升性能。

我这边配置启用jetson时钟并且开机自动使能,风扇模式使用system,使得风扇在每次开机后可以自动控制风量,功耗改为15瓦6核的最大功耗以提升性能。

四、安装CSI摄像头

硬件不多说,注意正反,插进去就行,我使用的是"Raspberry Pi Camera Module v2可见光"摄像头,但是该摄像头在 NX  上会出现一些白色小亮点,暂时不知道怎么解决,如果有哪位同学清楚,请不吝赐教,谢谢!

关于摄像头可以参看下面转载的链接。

注意:我这边树莓派摄像头开流是通过nvgstcapture-1.0,且opencv中并非nvcamerasrc,而是使用nvarguscamerasrc这个插件

转载链接:CSI vs USB camera on JetsonTX2

五、基于自带opencv4的简单demo

之前看有些博客说自带的不支持使用Gstreamer的VideoCapture,需要自己编译别的 opencv 版本,当前实际情况并非如此,也可能是后来自带版本支持了吧。废话不多说,直接上源码。

#include <stdio.h>
#include <opencv2/opencv.hpp>

int main(int argc, char * argv[])
{
    cv::VideoCapture cap("nvarguscamerasrc ! video/x-raw(memory:NVMM), width=640, height=480, format=NV12, framerate=30/1 ! nvvidconv flip-method=2 ! video/x-raw, width=640, height=480, format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink");
    if (!cap.isOpened())
    {
        std::cout << "Failed to open camera." << std::endl;
        return -1;
    }

    while(1)
    {
        cv::Mat frame;
        cap >> frame;
        cv::imshow("opencv4-demo", frame);
        if((char)cv::waitKey(1) == 'q')
            break;
    }
    return 0;
}

编译命令如下:

g++ `pkg-config opencv4 --cflags` opencv_gstreamer.cpp -o opencv_gstreamer_test `pkg-config opencv4 --libs`

注意:一个是cv中不再使用"nvcamerasrc",而是使用"nvarguscamerasrc"。第二个是"pkg-config"命令后面请指定"opencv4"

最终效果如下图,当前只是初步跑通简单demo。

最终效果如下图,当前只是初步跑通简单demo。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空