Arduino可能看起来很初级,但足以创建相当高级的项目。 借助市场上现有的某些模块(例如摄像机模块)以及某些库或API,您可以为您的项目提供情报或 人工视觉。 这将为基础项目以外的领域提供新的应用程序和新的视野。
机器视觉是计算机视觉的一种。 它不只是通过数码相机捕获图像,它还可以走得更远。 可用于 获取环境数据,处理图像,对其进行分析,了解真实世界的图像等。 例如,它可以用于通过相机获取数字信息,识别人类等。 想象一下您可以使用此方法做的一切...
计算机视觉的用途是什么?
通过 例子,许多当前的视觉系统都是基于这种视觉系统的,例如一些允许自动停车的车辆,环境地图,道路上的交通控制系统,或者识别行人停下车辆而不让他们驶过,识别人脸并获得来自诸如某些安全系统中的数据库中注册人员的数据,分析视频等。
这种机器视觉的潜力是如此巨大,以至于 政府和大公司 他们将其用于多种目的,无论是否合法。 您肯定知道的一些实际应用领域是:
- Facebook:将这种类型的人工视觉用于上传到您的社交网络的照片,这样您就可以使用复杂的算法来识别人脸。 这样,您就可以喂饱AI,使其功能更强大,并为将来的其他应用程序进行改进。
- Flickr的-您可以使用此计算机视觉在此平台上使用图像存储库来重建3D场景。
- 行业:使用人工视觉系统,您可以检测装配线中的缺陷,快速丢弃有缺陷的物体等。 例如,当在农业部门收集的水果通过传送带传送时,借助人工视觉传感器,可以检测到破损,损坏,烂掉的水果或除水果以外的其他物体,从而通过喷气将其去除或其他机制。
- 视频监控:可以在许多受保护的中心使用它来捕获某些车辆或人员,找出他们是谁,并将所述信息发送到系统或进行记录,以备日后分析。 许多公司甚至使用它来发现人们的着装(时装部门),某些实体来发现可能参加示威游行的人,在公共或繁忙中心发现可疑人员等。
请记住,目前在街道上散布着各种监视摄像头,无论它们是监视企业,银行,DGT等,因此 我们所有人都收集了很多信息...
必要的材料
除了带有您可以编程并利用库的微控制器的Arduino板之外, 您将需要 还有项目的其他基本要素。 当然,其中包括带有能够进行图像处理的相机的模块。 例如,Pixy CMUCam 5或 类似。 该模块具有功能强大的处理器,可以对其进行编程,以通过串行端口UART,SPI,I2C,数字输出或模拟信号发送传感器捕获的信息。
使用Pixy CMUCam 5,您每秒最多可以处理50帧(50 FPS)。 借助这些功能,可以对它进行编程以仅发送所需或要搜索的图像,而不是不断记录其捕获的所有视频。 为了更容易处理,它有一个 免费和开源的应用程序 呼叫 小精灵 供您控制。
如果您决定购买此Pixy CMUcam5摄像机,它将随附6针至10针IDC电缆以及安装硬件。 此外, 技术特点 该模块的是:
- 恩智浦LPC4330 204 Mhz DualCore处理器。
- 254 Kb RAM内存,
- 消耗140mA的电流。
- 图像传感器Omnivision OV9715的尺寸为1/4英寸,分辨率为1280×800。
- 水平视角为75º,垂直视角为47º。
- 简单的图像识别以定位对象。
- 您可以将其与Arduino开发板(具有特定的库),Raspberry Pi,BeagleBone Black和其他类似开发板一起使用。
- 通讯端口:SPI,I2C,UART,USB或模拟/数字输出。
- PixyMon软件与Windows,macOS和GNU / Linux兼容。
- 小尺寸。
- 文档可在项目Wiki上获得。
- Github仓库和Arduino库。
- 固件
- 教程
除此之外,您还必须记住,您还可以使用另一种类型的 API,库和更多材料 借助这些摄像头和人工视觉,可以帮助您创建各种项目。 例如,应注意:
- OpenCV的:是一个免费的机器视觉库,最初由Intel开发。 它现在已经获得BSD许可发布,任何人都可以使用它来检测运动,识别物体,机器人视觉,面部识别等。 它是跨平台的,因此可以在GNU / Linux,macOS,Windows和Android上使用。
- 其他项目,例如 车辆检测.
我鼓励您从Hwlibre开始 实验并了解该学科...
将Pixy 2 CMUcam5与Arduino集成的简单示例
为了使用这个 带有Arduino开发板的Pixy 2 CMUcam5模块,您必须使用几个额外的元素。 例如,您可以 使用伺服电机 S06NF,或 类似,当相机检测到您为其编程的对象时动作。 当然,您需要下载我上面说的PixyMon软件和Arduino的GitHub库。
有关Arduino编程的更多信息,您可以 下载我们的PDF 免费课程。
一旦有了 已安装PixyMon 在您的操作系统中,以下是遵循这些步骤的操作:
- 用USB电缆连接Pixy 并检查模块的RGB LED是否亮起,这表明模块工作正常。
- 打开PixyMon应用程序 如果一切正确,则此时您将看到相机正在拍摄的内容。
- 进入子菜单 行动或行动,然后单击设置签名或设置签名。 现在,视频将冻结,并且您可以选择希望相机检测到的颜色或对象,只要它在传感器前面即可。 例如,您可以使用一个球。 这样,无论何时球传到传感器前面,都将被检测到。
- 如您所见,有 多达7个签名集,因此您最多可以配置相机可以检测到的7个不同的对象。
- 如果您只选择一个,则可以继续进行下一步。 或者,如果要从列表中删除对象,则可以转到“操作”或“操作”菜单,然后单击“全部删除”。 签名 或选择“删除特定签名”。 您甚至可以转到“配置”或“配置”,然后转到要修改以更改它的特定签名...。
现在您可以继续配置您的电路板 Arduino的, 如果你想。 为此,您已经知道必须使用Arduino的Pixy库。 该库还将包含一些简单的示例,您可以开始尝试而无需从头开始编写代码。 只需打开它们并运行这些草图,或对其进行修改以查看其行为即可。 要拥有此库,您可以按照以下步骤操作。
- 排出 Arduino的库。
- 打开 Arduino IDE.
- 转到素描, 包括图书馆 然后添加.zip库并选择您下载的库。
- 现在将其集成,您可以 开始测试一些例子 将相机正确连接到Arduino开发板。 为此,请转到“示例”或“示例”菜单,然后转到“ Pixy”并选择其中之一。 我建议您从开始 你好,世界.
- 通过连接您的Arduino开发板 USB到PC,上传草图 到板上,然后选择“工具”,然后选择“串行监视器”。
- 现在,该窗口将开始向您显示信息。
当然, 别忘了连接所有电子组件 您需要使用Arduino开发板,包括相机本身。 您已经知道它连接到目的地为这些模块的Arduino ISCP引脚,如图所示...