上位机图像处理和嵌入式模块部署(图像项目处理过程)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        对于一般的图像项目来说,图像处理只是工作当中的一部分。在整个项目处理的过程中有很多的内容需要处理,比如说了解需求、评估光源和镜头、调整算法、ip分配、设备对接、协议对接等等。所以大家说的图像处理,其实只是调整算法中的部分内容,其他几个部分的工作也是需要自己去沟通和完成的。

上位机图像处理和嵌入式模块部署(图像项目处理过程)_第1张图片

1、了解需求

        客户对于图像处理的心理预期一般是很高的,一般都要经历这么三个过程,从盼望、到失望、再到恢复信心。所以,这个过程中充分了解客户的需求,合理管理客户的期望是很重要的一个部分。盲目地去允诺是非常不足取的。因为,所有答应的条件,最终都是要一一兑现的,不要有侥幸的心理。

2、评估光源和镜头

        大部分同学都喜欢研究算法,但是对光源和镜头的了解很少。所以这个时候应该尽量了解客户的作业场景是什么样的,应该选择什么样的镜头,挑选什么样的光源。另外就是光源的部分,是自己控制比较好,还是采用固定光源曝光的形式。如果图像质量本身比较高,那么算法上面的调整和优化也会变得很容易。

3、调整算法

        如果项目本身不复杂,那么采用上位机软件+标定的方法一般都可以解决。但是如果项目本身定制的成分比较多,这个时候可能需要自己编写一个新的算法。不管是哪一种情况,都要求上位机本身具有很强的鲁棒性,既要支持流程编辑和算法标定,还要支持算法扩展和补充。一般来说,商业软件的价格都比较高,这一部分如果是自己来实现的话,难度还是比较大的。

        在这过程中,一定要注意算法和流程的分离。算法设计应该是一个一个的插件来实现,而算法流程则是根据客户的需求将不同的算法插入到作业流程当中。当然,这当中还会涉及到标定,而标定也是流程工作的一部分,这一部分和图像处理同样重要。

4、ip分配

        ip分配在工厂里面是很重要的一个环节。因为一个系统中有很多的设备,机器视觉一般扮演的就是传感器的角色,但是计算得到的结果,最终是要通过其他系统来完成进一步操作的。所以,这个时候,不同的设备是不是在同一网段里面,彼此ip怎么分配,工厂内部有没有mac管理,交换机和路由器有没有黑名单、白名单,这部分都是很重要的。

5、设备对接

        设备对接,这里说的主要是和机器视觉系统的对接。一般对接的设备有plc设备、io设备、tcp client设备、tcp server设备、can设备等等。如果是对接的内容比较简单,直接利用上位机脚本直接编辑对接的内容就可以了。如果对接的内容比较复杂一点,这个时候还需要自己用c# & wpf,或者是c++ & qt编写一个wcs或者wms,这都是有可能的。

        所以,在设备对接阶段,我们需要完成的工作主要是数据流的整理,即我们的数据需要发给哪些设备、怎么控制这些设备、怎么确认数据已经正常地发送给了这些设备。

6、协议对接

        简单的设备对接一般用脚本就可以实现,但是如果涉及到协议,这部分就会稍显复杂。协议对接的方法一般有两种方式,一种是http服务器对接,也就是我们去访问别人的http服务器接口。还有一种是数据库对接,这种方式就是对接别人web服务器的接口。不光是哪一种方式,用上位机的脚本直接去编写就不是很合适了。这个时候应该用c#或者是c++去转接一下协议内容即可。

你可能感兴趣的:(上位机图像处理和嵌入式模块部署,图像处理,人工智能)