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

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

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

1、创建工程和创建流程

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

2、涉及流程

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

3、详细分解

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

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

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

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

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

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

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

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

4、更多的直线拟合

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

相关推荐
掘金安东尼1 小时前
OCR的新高度?PaddleOCR-VL 与 DeepSeek-OCR 的技术与应用横评
人工智能
Aurora-silas1 小时前
LLM微调尝试——MAC版
人工智能·pytorch·深度学习·macos·机器学习·语言模型·自然语言处理
空白到白1 小时前
BERT,GPT,ELMO模型对比
人工智能·gpt·自然语言处理·bert
空白到白1 小时前
BERT-微调任务
人工智能·自然语言处理·bert
文火冰糖的硅基工坊2 小时前
[人工智能-大模型-20]:对比 Copilot 与国产替代方案(如通义灵码、百度Comate)
人工智能·百度·copilot
岛屿旅人2 小时前
智库报告美国如何打网络战
网络·人工智能·安全·web安全
XIAO·宝2 小时前
深度学习------YOLOV3
人工智能·深度学习·yolo
AI科技星3 小时前
垂直原理:宇宙的沉默法则与万物运动的终极源头
android·服务器·数据结构·数据库·人工智能
开始学AI3 小时前
ChatClimate:让对话式人工智能立足于气候科学
人工智能
学习路上_write3 小时前
神经网络初次学习收获
人工智能·python