概览 ======== .. image:: ../camera.jpg :alt: OpenMV Cam :width: 700px 您好,感谢您阅读本教程并对 OpenMV Cam 感兴趣!在进入教程之前,我想快速回顾一下 OpenMV Cam 存在的原因 以及它的设计用途。 目前,做任何涉及计算机视觉的严肃事情都需要一台运行操作系统的计算机运行许多软件层,并且需要进行大量设置才能使计算机视觉代码正常工作。 如果您需要做许多其他事情而不仅仅是处理图像,例如连接到互联网,同时运行许多不同的应用程序等,这不错。 但是,如果我只想在白色墙壁前出现红色物体时打开 LED,该怎么办?为什么需要为此建立一个复杂的系统? 或者,如果我只想在看到人脸时打开 LED 怎么办? 例如,如果我想在线路传感器损坏时短时间打开 LED,我会使用 Arduino 来完成此操作。 我会写大约 10 行代码并完成它。并且...在闪烁 Arduino 之后,该代码将永远愉快地运行。 但是,如果我想使用像相机这样的 2D 传感器,一切都会改变。 由于相机传感器会生成大量数据,因此需要速度更快、资源更丰富的计算机来处理传感器数据。 现在,有了这台速度更快、功能更强大的计算机,您绝对可以做更多的事情。 但是,如果我的目标仍然只是打开 LED 呢?转动马达?或者开阀门? 我还能通过相机传感器获得类似 Arduino 的体验吗? 是的!这是 OpenMV Cam 背后的要点。一个小的可编程计算机 做简单的计算机视觉事情! 我们使用 OpenMV Cam 的目标是制作一个灵活的系统来解决非常简单的计算机视觉问题。 为了实现这一目标,我们在微控制器上运行的 MicroPython 之上构建了 OpenMV Cam。 这种方法允许您编写 Python 脚本以在 OpenMV 上执行,这些脚本编译和加载速度非常快, 同时保持微控制器的优势,例如低功耗和嵌入式应用程序的即时处理。 现在,OpenMV Cam 并不能解决所有计算机视觉问题,甚至不能解决大多数问题。 您应该在需要时使用运行 linux 和 OpenCV 的单板计算机。 但是,如果您只需要用相机做一些简单的事情,OpenMV Cam 可能是适合这项工作的工具。 有关这方面的更多信息,请参阅我们的 `FAQ `_.