前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VisionWorks 视觉功能库样例运行

VisionWorks 视觉功能库样例运行

原创
作者头像
Librant
修改2024-07-02 07:48:18
770
修改2024-07-02 07:48:18
举报

NVIDIA 在 JetPack 开发环境中,提供的两套非常完整的与视觉技术相关的开发工具包,分别是 VisionWorksMultiMedai API,这两个开发工具包不仅在电脑视觉(Computer Vision)中占据非常重要的分量,也在深度学习的视觉应用中扮演十分重要的角色。

Jetpack 4.6 版本提供 VisionWorks 与 VPI 两套计算机视觉的开发工具包,从 Jetpack 5.0 版本开始,计算机视觉与图像处理的算法都合并到 VPI 工具包中;

运行环境信息:

1)Jetson Xavier NX 8GB

2) 系统版本

代码语言:bash
复制
lsb_release -a

3)L4T版本

代码语言:bash
复制
head -n 1 /etc/nv_tegra_release

3)Jetson 版本

代码语言:bash
复制
jetson_release -v

一、VisionWorks 样例编译

JetPack 开发环境中,将 visionWorks 的样例放在 /usr/share/visionworks/sources/ 目录下:

如果是 Jetpack 5.0 以上的版本,可以参考 VPI 相关的用例;

visionworks 官方地址:https://developer.nvidia.com/embedded/visionworks-1-5-3

1.1 安装编译用例

1)安装用例

代码语言:bash
复制
cd /usr/share/visionworks/sources/
./install-samples.sh ~/

安装脚本会在目的目录(这里是 ~/)下建立 <VisionWorks-1.6-Samples> 目录,作为 VisionWorks 范例的工作目录。

2)查看用例内容

切换到 ~/VisionWorks-1.6-Samples 目录,并查看一下内容

代码语言:bash
复制
cd ~/VisionWorks-1.6-Samples
ls -l

3)编译用例

代码语言:bash
复制
make -j6

等待编译完成,编译好的执行文件存放在 bin/aarch64/linux/release/ 目录下;

代码语言:bash
复制
cd ~/VisionWorks-1.6-Samples/bin/aarch64/linux/release
ls -l

二、VisionWorks 样例运行

2.1 特征追踪器(feature tracker)

简单的局部特征跟踪演示,它使用 Harris 或 FAST 特征检测器获取特征的初始列表,并使用稀疏的金字塔光学流方法(Lucas-Kanade)对其进行跟踪。

代码语言:bash
复制
./nvx_demo_feature_tracker_nvxcu

2.2 Hough 转换(边缘检测)(feature tracker)

通过霍夫变换进行直线和圆的检测。输入帧将转换为灰度,缩小比例,使用中值滤镜模糊并进行均衡。然后,由 Canny Edge Detector 和 Sobel 运算符处理均衡后的帧,并将生成的边缘图像和导数传递到 Hough Circle 节点,以获取带有检测到的圆的最终数组。

代码语言:bash
复制
./nvx_demo_hough_transform

2.3 运动估算(Motion Estimation)

IME 是一种基于块的运动估计算法,该算法结合了迭代优化步骤以改善输出运动场。这里的样本管线说明了从当前帧到前一帧的后向运动矢量的单向运动估计,样本管线每隔 2x2 块以 Q14.2 格式生成运动矢量。

代码语言:bash
复制
./nvx_demo_motion_estimation

2.4 立体声匹配(Stereo Matching)

一个简单的立体声匹配演示,使用半全局匹配算法评估视差。在评估立体声以获得更好的质量和性能之前,它会执行颜色转换和缩小比例。预期输入图像不会失真和校正。

代码语言:bash
复制
./nvx_demo_stereo_matching

2.5 视频稳定器(Video Stabilizer)

演示了基于图像的视频稳定算法。使用哈里斯特征检测器和稀疏金字塔光学流方法(Lucas-Kanade)估计帧的运动。

代码语言:bash
复制
./nvx_demo_video_stabilizer

2.6 简单的对象跟踪器(Simple Object Tracker)

这是基于传统对象跟踪器的范例,并未使用到深度学习技术,基于金字塔形光学流的简单跟踪方法,并具有针对非刚性物体的高级跟踪器。

代码语言:bash
复制
./nvx_sample_object_tracker_nvxcu

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、VisionWorks 样例编译
    • 1.1 安装编译用例
    • 二、VisionWorks 样例运行
      • 2.1 特征追踪器(feature tracker)
        • 2.2 Hough 转换(边缘检测)(feature tracker)
          • 2.3 运动估算(Motion Estimation)
            • 2.4 立体声匹配(Stereo Matching)
              • 2.5 视频稳定器(Video Stabilizer)
                • 2.6 简单的对象跟踪器(Simple Object Tracker)
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档