在本系列上一篇文章中,我们带领大家掌握了颜色空间动态调节技巧。在本篇文章中,我们将带领大家了解 OpenCV。
前面连续几篇在 Jetson Nano 2GB 上,执行多个简单且实用的 Python 的 OpenCV 项目,都是轻松调用 JetPack 预装的 OpenCV 就能实现的功能,不需要额外安装其他库,包括人脸与眼睛检测的范例。
JetPack 为 Jetson Nano 2GB 安装的 OpenCV,是经过 NVIDIA 特调过的,因为 Jetson Nano 2GB 的目的是要成为边缘计算设备。由于各项计算资源都相对局限,因此 JetPack 所提供的 OpenCV 主要保留计算机视觉中最常用的基础功能。
以下就整理几个 Jetson Nano 2GB 上最常遇到的 OpenCV 问题:
1. 这个 OpenCV 是什么版本?
答:这里检查 OpenCV 版本的方法有很多种,下面两种是最简单的:
(1) 直接执行 opencv_version (如下截屏):
(2) 由于这里的 OpenCV 使用 dpkg 工具进行安装,因此可以使用以下指令检查版本:
第二种方法还能看到安装了支持 Python 的版本,以及 Samples 范例。
2. 这个 OpenCV 支持哪个 Python 版本?
答:JetPack 为 Jetson Nano 2GB 安装了 2.7 与 3.6 两个版本 Python 开发环境,可以分别执行以下指令去分别确认。
表示这个 OpenCV 支持 2.7 与 3.6 这两个版本的 Python。
3. 这个 OpenCV 支持 CUDA 计算?
答:这里有个最简单的指令“opencv_read_cuda”,在任何地方执行,显示如下:
这里得到的答案颇令人意外,居然是“NO”,表示不支持 CUDA。
这是因为前面所说,为了节省 Jetson Nano 2GB 的计算资源,因此这个 OpenCV 只提供最基本计算机视觉的功能,连 NVIDIA 自己的 CUDA 支持部分也去除。如果需要使用支持 CUDA 功能的 OpenCV 版本,需要从 OpenCV 官网下载源代码进行安装,这类教材网上有很多,请自行处理。
4. 这个 OpenCV 支持哪些库?
答:最简单的方式就是直接检查已安装的 lib 内容,请执行以下指令:
可以根据上述列表找出已安装的列表。
5. 如何取得 OpenCV 完整的安装与支持信息?
答:可以在 python 里汇入 cv2 之后,执行 cv2.getBuildInformation(),如下图:
下面还有非常多的信息,例如与 C/C++ 有关的(如下截屏):
已安装的模组(如下截屏):
例如上图就能看到对 FFMPEG、GSTREAMER 与 v4l/v4l2 的支持版本。
对 Python 的支持(如下截屏):
信息内容非常多,请自行阅读。
6. 需要升级对 Python 的支持?例如执行 pip3 install opencv-python 或 sudo apt install python3-opencv
答:这两种方式都会产生问题,建议不要使用。
以上针对 NVIDIA JetPack 为 Jetson Nano 2GB 所提供的 OpenCV 开发环境,以及大部分开发者最常见的问题,提供一个简单整理。
好文章,需要你的鼓励
继苹果和其他厂商之后,Google正在加大力度推广其在智能手机上的人工智能功能。该公司试图通过展示AI在移动设备上的实用性和创新性来吸引消费者关注,希望说服用户相信手机AI功能的价值。Google面临的挑战是如何让消费者真正体验到AI带来的便利,并将这些技术优势转化为市场竞争力。
麻省理工学院研究团队发现大语言模型"幻觉"现象的新根源:注意力机制存在固有缺陷。研究通过理论分析和实验证明,即使在理想条件下,注意力机制在处理多步推理任务时也会出现系统性错误。这一发现挑战了仅通过扩大模型规模就能解决所有问题的观点,为未来AI架构发展指明新方向,提醒用户在复杂推理任务中谨慎使用AI工具。
Meta为Facebook和Instagram推出全新AI翻译工具,可实时将用户生成内容转换为其他语言。该功能在2024年Meta Connect大会上宣布,旨在打破语言壁垒,让视频和短视频内容触达更广泛的国际受众。目前支持英语和西班牙语互译,后续将增加更多语言。创作者还可使用AI唇形同步功能,创造无缝的口型匹配效果,并可通过创作者控制面板随时关闭该功能。
中科院自动化所等机构联合发布MM-RLHF研究,构建了史上最大的多模态AI对齐数据集,包含12万个精细人工标注样本。研究提出批评式奖励模型和动态奖励缩放算法,显著提升多模态AI的安全性和对话能力,为构建真正符合人类价值观的AI系统提供了突破性解决方案。