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

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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++去转接一下协议内容即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/472322.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Camtasia 2024.3.7 Mac功能强大的屏幕录制和视频编辑软件

Camtasia 2024.3.7 是一款功能强大的屏幕录制和视频编辑软件,广泛用于创建教育、培训、演示和演讲等各种视频内容。它具有直观的用户界面和丰富的功能,使用户能够轻松地录制屏幕动画、添加音频、视频、文本和效果,并进行高质量的视频编辑和制…

【AIGC】Stable Diffusion 的提示词入门

一、正向提示词和反向提示词 Stable Diffusion 中的提示词通常用于指导用户对生成的图像进行控制。这些提示词可以分为正向提示词(Positive Prompts)和反向提示词(Negative Prompts)两类,它们分别影响图像生成过程中的…

css篇---分辨率物理像素和逻辑像素

物理分辨率和逻辑分辨率 物理分辨率是生产屏幕时就固定的,它是不可改变的 -----电脑像素 逻辑分辨率是由软件决定的 【电脑的设置中可以修改分辨率】----css像素 设备像素比 dpr同一方向上的物理像素/css像素 (缩放比是1的情况) 假设dpr4/…

洛谷: P1479 宿舍里的故事之五子棋

题目链接: https://www.luogu.com.cn/problem/P1479 思路: 这道题目可以打表或者搜索。每个位置有选择/不选择两种情况。搜索的时候我们一行一行的搜索,直到使用的棋子达到n为止。b[i]为五子连线的数量,b[i] 1表示五子连线的数量可以取i,在…

ClickHouse--07--Integration 系列表引擎

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Integration 系列表引擎1 HDFS1.1 语法1.2 示例: 2 MySQL2.1 语法2.2 示例: 3 Kafka3.1 语法3.2 示例:3.3 数据持久化方法 Integ…

Leetcode 94.二叉树的中序遍历

题目 给定一个二叉树的根节点 root ,返回 它的中序 遍历 。 输入:root [1,null,2,3] 输出:[1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归遍历 递归遍历就是一个很简单的中序遍历 /*** Definitio…

Gitee入门之工具的安装

一、gitee是什么? Gitee(码云)是由开源中国社区在2013年推出的一个基于Git的代码托管平台,它提供中国本土化的代码托管服务。它旨在为个人、团队和企业提供稳定、高效、安全的云端软件开发协作平台,具备代码质量分析、…

Java 基于 SpringBoot+Vue 的酒店管理系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

Vue练习3:组件开发3(页面切换)

预览 ——————————————————————————————————————————— 组件文档 Pager组件 属性 属性名含义类型必填默认值current当前页码(总数据量/单页容量)Number否1total总数据量Number否0limit单页容量Number否10vis…

《剑指 Offer》专项突破版 - 面试题 48 : 序列化和反序列化二叉树(C++ 实现)

目录 前言 一、序列化二叉树 二、反序列化二叉树 前言 题目链接:LCR 048. 二叉树的序列化与反序列化 - 力扣(LeetCode) 题目: 请设计一个算法将二叉树序列化成一个字符串,并能将该字符串反序列化出原来的二叉树。…

Python二级考试笔记

Python二级考试笔记【源源老师】 01. 字符串 1. 常规功能合集 字符串本身有一些功能,有些之前运用过,这里总结如下: # 功能一:判断字符串类型 print(type("Hello")) print(str(123)) # 转换# 功能二:连…

c入门第十八篇——支持学生数的动态增长(链表,指针的典型应用)

数组最大的问题,就是不支持动态的扩缩容,它是静态内存分配的,一旦分配完成,其容量是固定的。为了支持学生的动态增长,这里可以引入链表。 链表 在C语言中,链表是一种常用的数据结构,它由一系列…