7

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

 7 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/136126049
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

f59a4a4963fd4812b9622c60c171948f.png

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++去转接一下协议内容即可。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK