【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
很多图像算法是通过上位机来完成的,比如说工业视觉当中的halcon,一般都是要运行在windows平台上面,并且需要高性能pc的支持。但是,还有一部分软件,他们的功能往往比较单一,客户场景也比较纯粹,这个时候使用高性能的arm开发板可能更为合适,成本也低很多。这主要是,因为相关的功能很有可能是货物的检测、距离的测量、产品质量的检验以及二维码的识别等等。所以如果是大批量的基础功能开发,用arm linux开发板还是非常合算的。
1、选择什么样的arm开发板
尽量选择资料比较多的开发板,不要选择太小众的开发板。这方面,建议大家不用太过于考虑价格因素,以学习资料多、板子质量高为第一考虑条件,这是比较务实的看法。如果是按照这个标准考虑,树莓派其实非常合适。
2、入手准备
现在的开发板都做得非常小巧。我们使用开发板的主要目的是进行图像处理,所以,一般来说构建一个最小硬件系统,对我们来说就足够了。最小的系统,通常就是电源+开发板+sd卡+读卡器+网线,如果需要显示的话,还会有一个mini hdmi线。当然准备一个usb转串口的小备件,也是十分有必要的。
3、开发板镜像用sd卡烧入
如果是开发的话,原来的开发板是不是自带emmc,这一点不是那么重要。与其说把时间浪费在烧入emmc上面,或者是类似的norflash、nandflash上面,不如直接用sd卡进行开发,这样来的更方便一点。而且很多开发板厂商都会提供对应的镜像烧入工具和镜像文件,用pc+usb读卡器直接烧入即可。
4、镜像的选择
我们对于linux开发板,应该是着重于使用,所以对于镜像,没必要追求大而全。比如是不是有界面,是支持32位还是支持64位,这些都可以根据自己的需求做出选择。镜像本身就包括了uboot、zImage、dts、rootfs,所以一般的软件都是自带好的。甚至像树莓派这样的开发板,在板子上都有编译器,使用还是非常方便的。
5、尽快从串口调试,转向网络调试
linux的网络功能还是非常优秀的。只要开发板提供了网口,建议尽快切到网络进行开发,比如说telnet、ssh、ftp、http这些常用的协议,都是依赖于网口和网络协议部分的。因此一旦板子支持了这些协议,不管是上传、下载,还是debug调试,本身都非常方便。
6、没有必要一开始就上camera摄像头
我们使用开发板,一般就是利用linux环境和arm芯片,确认一下算法的性能,没有必要一开始就上camera摄像头。只要有参考测试图片,甚至于opencv都可以先不安装,直接使用二进制图像文件测试,这都是可以的。如果是视频,甚至可以是连续的二进制文件。所以大家实验的时候,没有必要执着于大而全,能用就可以了。后期需要什么,再继续补上就可以了。
7、linux用到什么,学什么
linux本身是一个大学堂,很多新手非常容易在这当中迷失方向。所以不光是命令、网络配置、远程调试、编译优化等等,都有很多的内容。大家可以根据自己的需要,一边学习,一边测试即可。初期学习那些用得上的内容,后期再做进一步加深和了解,这是比较合适的。如果每一个方向都深入下去,其实很容易让自己迷失方向的。
非必要的情况下,一般不需要深究linux kernel、linux driver这些知识点。就算是将来和其他设备打交道,了解232、485、can、ethernet这些,其实也已经足够了。还是把重点放在图像算法、业务上面,这样更为妥当一点。