我们已经建立了许多图像处理系统,使用树莓派和其他单板机一起OpenCV和其他Python库,如Scikit形象和Dlib.例如,看看这个缺陷检测系统
这对于原型设计很有效,但是对于批量生产来说,RaspberryPi就太过了。您可能不需要它提供的处理能力,并且该板包括不必要的功能和组件,并增加成本。转向更简单、成本更低的硬件,如SMT32或Atmel是有意义的,但这需要嵌入式软件开发
由于我们的许多项目,无论是内部的还是客户的,都涉及到相机和一些处理,我们不得不致力于超越RasberryPi框架的方法。我们开始与这个开发板它与STM32 MCU和Ominvision OV 7670一起工作(你可以在Arduino包里买到它在这里)
在数量10000 +时,这两个组件将做我们需要的图像采集和处理工作,以更低的价格。
全视觉摄像头Arduino板
通过USB 2虚拟COM口管理单片机摄像连接,用C语言编写单片机软件固件,然后用PC机软件QT (c++)编写软件。
固件代码
正确的初始化相机设置不是最简单的:有201个不同的寄存器用于相机调谐值,包括通信、帧速率、对比度亮度伽马、图像缩放和镜头校正——所有这些都在我们的固件中定义。在下图中,你可以看到使用PC软件从设备上抓取图像的工作系统。
通过单片机对摄像机进行测试
现在通信工作正常了,我们可以用C语言中需要的算法来替换OpenCV代码。
如果您对您的项目的PC代码和MCU代码感兴趣,请发送电子邮件至info@opticsforhire.com。我们很乐意分享。