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

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

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

1、创建工程和创建流程

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

2、涉及流程

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

3、详细分解

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

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

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

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

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

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

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

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

4、更多的直线拟合

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

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

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

相关文章

# Maven Bom 的使用

Maven Bom 的使用 文章目录 Maven Bom 的使用概述BOM特点优点缺点 MavenMaven 安装安装步骤settingx.ml常用仓库地址Idea 使用maven常见坑 SpringBoot 项目Bom使用案例项目结构主项目 zerocode-back-servezc-dependency(第三方jar管理)子模块zc-serve子模…

手机运营商二要素检测:重塑信任基石,筑牢信息安全屏障

随着移动互联网的普及和数字经济的快速发展,用户信息安全的重要性日益凸显。运营商二要素检测作为一种强大的安全验证机制,以其精准匹配与实时验证的特性,为各类应用场景提供了一种可靠的身份识别解决方案,正在成为众多企业和服务…

PyTorch 深度学习(GPT 重译)(六)

十四、端到端结节分析,以及接下来的步骤 本章内容包括 连接分割和分类模型 为新任务微调网络 将直方图和其他指标类型添加到 TensorBoard 从过拟合到泛化 在过去的几章中,我们已经构建了许多对我们的项目至关重要的系统。我们开始加载数据&#xf…

11种创造型设计模式(下)

观察者模式 我们可以比喻观察者模式是一种类似广播的设计模式 介绍 观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象是Subject,依赖的对象是Observer,Subject通知Observer变化。 代码 说明: WeatherStat…

【百度灵境矩阵实训营】操作指南

【百度灵境矩阵实训营】操作指南 写在最前面提交注意事项比赛参与指南1、创建智能体作品要求 2、提交作品 学习资料包 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅&…

Docker容器化技术(docker-compose示例:部署discuz论坛和wordpress博客,使用adminer管理数据库)

安装docker-compose [rootservice ~]# systemctl stop firewalld [rootservice ~]# setenforce 0 [rootservice ~]# systemctl start docker[rootservice ~]# wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64创建目录 [rootse…

用纯C语言实现空气压强和电压关系

已知P是真空度&#xff0c;U是电压&#xff0c;C是3.572&#xff08;以PA为单位&#xff09;&#xff0c;P10**(U-C)/1.286 1、使用 math.h 头文件中提供的函数&#xff0c;比如 pow() 来计算幂 #include <stdio.h> #include <math.h>int main() {double U; // 电…

接口测试、postman、测试点提取【主】

接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系 文章目录 HTTP接口 & Web Service接口RESTful接口…

SQLiteC/C++接口详细介绍sqlite3_stmt类(五)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;四&#xff09;- 下一篇&#xff1a; 无 12. sqlite3_bind_text16函数 sqlite3_bind_text16函数用于将UTF-16编码的文本数据&#xff08;字符串&#xff09;绑定…

语音识别教程:Whisper

语音识别教程&#xff1a;Whisper 一、前言 最近看国外教学视频的需求&#xff0c;有些不是很适应&#xff0c;找了找AI字幕效果也不是很好&#xff0c;遂打算基于Whisper和GPT做一个AI字幕给自己。 二、具体步骤 1、安装FFmpeg Windows: 进入 https://github.com/BtbN/FF…

[嵌入式系统-43]:SOC芯片内部的总线规范

目录 一、SOC&#xff08;System on Chip&#xff09; 二、AMBA 2.1 AMBA概述 2.2 AMBA架构 三、AXI 2.1 AXI概述 一、SOC&#xff08;System on Chip&#xff09; SOC&#xff08;System on Chip&#xff09;通常包含多个功能模块&#xff0c;如处理器核心、内存控制器…

综合知识篇16-信息系统基础知识考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

基于SpringBoot和Vue的网上订餐系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的网上订餐系统的设计与实现。 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x…

nginx介绍及搭建

架构模型 Nginx是由一个master管理进程、多个worker进程组成的多进程模型。master负责管理worker进程&#xff0c;worker进程负责处理网络事件&#xff0c;整个框架被设计为一种依赖事件驱动、异步、非阻塞的模式。 优势&#xff1a; 1、充分利用多核&#xff0c;增强并发处理…

[隐私计算实训营学习笔记] 第1讲 数据要素流通

信任四基石 数据的分级分类 技术信任&#xff1a;全链路审计、闭环完成的数据可信流通体系 技术信任&#xff1a;开启数据密态时代 数据可流通的基础设施&#xff1a;密态天空计算

LeetCode 面试经典150题 罗马数字转整数

题目&#xff1a; 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

ZnO非线性电阻片功率损耗的频率特性

对不同频率正弦交流电压作用下直流氧化锌阀片的功率损耗进行了测量。图3.16(a)和(b)分别为试品类型A和试品类型B两种直流ZnO阀片在不同频率电压作用下的功率损耗随荷电率变化的特性。两种阀片的功率损耗都随频率和荷电率的增加而增加。当频率达到1kHz或以上时,阀片的功率损耗增…

Django项目不显示图片,路径找不到

1.问题 创建Django项目简单写一个网页&#xff0c;文字能显示&#xff0c;图片却无法加载&#xff0c;路径错误&#xff0c;找不到图片。 2.背景 我的项目结构 C:. ├─.idea │ └─inspectionProfiles ├─app01 │ ├─migrations │ ├─templates │ │ ├─app0…

JVM垃圾收集器你会选择吗?

目录 一、Serial收集器 二、ParNew收集器 三、Paralle Scavenge 四、Serial Old 五、Parallel Old 六、CMS收集器 6.1 CMS对处理器资源非常敏感 6.2 CMS容易出现浮动垃圾 6.3 产生内存碎片 七、G1 收集器 八、如何选择合适的垃圾收集器 JVM 垃圾收集器是Java虚…

玩转C语言——C语言中内存存储

一、 整数在内存中的存储 我们知道&#xff1a;整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 三种表⽰⽅法均有符号位和数值位两部分&#xff0c;符号位都是⽤0表⽰“正”&#xff0c;⽤1表⽰“负”&#xff0c;⽽数值位最 ⾼位的⼀位是被当做符号位&#xff0c;…