上位机图像处理和嵌入式模块部署(qmacvisual拟合直线)

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

测量是图像处理的一个基本技能。那么测量的前提,就是我们需要在图像中找出特定的集合图形,比如说直线。当然,发现并找到直线,也会有两个方法,一个方法是直接去寻找,这会比较吃力一点;还有一个方法就是先找出特定形状的点,通过这些点去拟合出一条直线来。今天,我们来讨论的就是后面一个。处理的图片上,有若干个小圆,通过这些小圆正好可以拟合出一条直线出来。

1、创建工程和创建流程

工程和流程的创建是qmacvisual使用的前提,也是基础。

2、涉及流程

鉴于处理的图片是一连串的图形小点,我们可以先做图像预处理、切割出小圆,最后基于这些小圆的重心拟合出一条直线出来。当然,为了显示的方便,也可以添加一个显示的功能。整个流程是这样的,

3、详细分解

一开始的时候,还是老规矩,通过【获取图像】的插件导入我们需要处理的图片。实际工作中,这一步一般是通过摄像头实时导入的,

有了图片之后,就可以开始做图像预处理了。处理的步骤就是灰化、二值化、腐蚀。腐蚀的时候,我们调整了一下设置的参数,主要就是结构元素的大小,

这样,预处理之后的效果就是这样的,

预处理完毕之后,就要用上昨天学习的内容了。那就是轮廓特征选择。这里还是选择使用area作为特征进行过滤,最小为10,最大为80,这样就可以把相应的轮廓切割出来,

不出意外的话,我们就可以在打印的地方发现总共有多少个轮廓,面积是多少,重心在什么位置。这些轮廓就是我们将来直线拟合的依据。

上面都是之前学习过的内容,今天我们可以加上新的东西,那就是直线拟合。它的插件来自于【几何工具】下面的【拟合直线】。配置也是比较简单的,就是把图像和轮廓点集送给插件就可以了。结束后,单击执行就可以看到结果了。

如上图所示,屏幕中蓝色的那条线,就是我们最终拟合出来的直线。直线的斜率是2.06,截距是-107.2。直觉上看,这个数值是错的,这主要是因为,图像的数据向右是x轴递增,向下是y轴递增。大家把向下的y轴递增替换成向上的y轴递增,就可以看出这条线的参数是不是计算的这样了。

最后还有一个整体输出,这部分之前也提及过,主要就是把处理结果和图像做一个绑定即可。

4、更多的直线拟合

图中的拟合,是对多个轮廓重心进行拟合处理。还有一种处理,就是直接找出最小的轮廓和最大的轮廓,利用它们的重心点进行拟合,这也是一种方法。大家可以多多测试下。有了直线之后,就相当于找到了一个基准,可以进一步判断其他点、线、图形到这个直线的距离,这样我们图像处理做的事情也就越来越多了。

相关推荐
拆房老料26 分钟前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
运维行者_1 小时前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
张张123y1 小时前
后端第十四课:Agent 记忆系统(让 Agent 记住上下文和用户,跨会话不健忘)
java·大数据·人工智能·python·agent·记忆
国科安芯5 小时前
四重证据,一条逻辑链:商业航天级微控制器MCU抗辐射验证方法学综述——以国科安芯AS32S601为例
人工智能·单片机·嵌入式硬件·mcu·安全·抗辐射
dk_tjy6 小时前
AI驱动的自动化攻击背景下:企业端点安全体系的技术架构与建设路径
网络·人工智能·安全·自动化·终端安全管理·数据防泄漏
布吉岛的石头6 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
2601_965454236 小时前
用AI把开源项目功能清单做成MG动画介绍视频
人工智能·开源·音视频
风雅GW6 小时前
局域网访问为何少一半配置页:DSH 的安全边界设计复盘
人工智能
衡石科技7 小时前
同一句业务问题,怎样持续问对数?衡石 ChatBI 的语义准备与回归验证
人工智能·数据挖掘·回归·chatbi
新新学长搞科研7 小时前
【会议征稿 | 杭州站】第七届机器学习与计算机应用国际学术会议 (ICMLCA 2026)
人工智能·机器学习·计算机