1. 概述¶
嗨,感谢您阅读本教程并对 OpenMV Cam 感兴趣!在进入教程之前,我想简要介绍一下 OpenMV Cam 的存在原因以及它设计用于什么。
目前,进行涉及计算机视觉的任何严肃工作都需要一台运行操作系统的计算机,运行着多层软件,并且需要进行大量设置才能使计算机视觉代码正常工作。如果您需要做的事情不仅仅是处理图像,比如连接到互联网,同时运行许多不同的应用程序等,这都没问题。
但是,如果我只想让 LED 在白墙前出现红色物体时点亮。为什么我需要构建一个复杂的系统呢?又或者,如果我只想在视野中有一张脸时点亮 LED?
例如,如果我想在断开线传感器时将 LED 打开一小段时间,我会使用 Arduino 来完成这个任务。我会编写大约 10 行代码并完成它。然后……在烧录 Arduino 后,该代码将永远愉快地运行。
但是,如果我想使用一个 2D 传感器,比如相机,情况就会发生变化。因为相机传感器会生成大量的数据,因此需要更快、更强大的计算机来处理这些传感器数据。现在,借助这台更快更强大的计算机,你确实可以做很多更多的事情。但是,如果我的目标仍然只是打开一个 LED?旋转一个电机?或者打开一个阀门?我还能在使用相机传感器的同时,保持类似 Arduino 的体验吗?
是的!这就是 OpenMV Cam 的意义所在。一个可以执行简单计算机视觉任务的小型可编程计算机!
我们 OpenMV Cam 的目标是构建一个灵活的系统,用于解决非常简单的计算机视觉问题。为了实现这个目标,我们将 OpenMV Cam 构建在运行在微控制器上的 MicroPython 之上。这种方法允许您编写 Python 脚本在 OpenMV 上执行,这些脚本编译和加载非常快,同时保持微控制器的优势,如低功耗和即时处理用于嵌入式应用程序。
现在,OpenMV Cam 并不是解决所有计算机视觉问题的答案,甚至也不是大部分问题的答案。当需要时,您应该使用运行 Linux 和 OpenCV 的单板计算机。但是,如果您只需要使用相机做一些简单的事情,OpenMV Cam 可能是适合此工作的正确工具。
有关更多信息,请查看我们的 常见问题解答。