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

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

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

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

相关推荐
wang_chao1181 分钟前
目标检测基础概念
人工智能·目标检测·目标跟踪
啊阿狸不会拉杆3 分钟前
《计算机视觉:模型、学习和推理》第 18 章-身份与方式模型
人工智能·python·学习·计算机视觉·分类·子空间身份模型·plda
程序大视界3 分钟前
Mac电脑详细养小龙虾教程
人工智能·ai·openclaw
深小乐6 分钟前
关于 AI,作为一名互联网人,聊聊我当下最真实的想法
人工智能
IT_陈寒8 分钟前
Python开发者都在偷偷用的5个高效技巧,你竟然还不知道?
前端·人工智能·后端
DatGuy14 分钟前
Week 37: 深度学习进阶:基于 OpenClaw 的多智能体协同架构
人工智能·深度学习·架构
程序员小明儿17 分钟前
具身智能:为什么人形机器人是AI的终极形态?
人工智能·机器人
love530love18 分钟前
ComfyUI 报错解决记录:NumPy/SciPy 不兼容与 OpenCV 扩展模块缺失
人工智能·windows·python·opencv·numpy·scipy·layerstyle
ForDreamMusk28 分钟前
神经网络的基本原理
人工智能·深度学习
HIT_Weston32 分钟前
11、【AI】【Agent】联网使用大模型(DashScope&OpenAI)
人工智能