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

本文主要是介绍上位机图像处理和嵌入式模块部署(qmacvisual拟合圆和拟合椭圆),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

        前面我们学习了拟合直线,今天继续学习下拟合圆和拟合椭圆。其实除了最后一步不同,两者的逻辑是差不多的。一般都是,读取图片-》灰化-》轮廓筛选-》拟合圆(拟合椭圆)-》显示图形。所以今天的学习更多的是一种复习和总结。

1、创建项目和创建流程

        第一步还是创建项目和创建流程,这是所有工作开展的基础。

2、读取图像

        暂时我们还没有camera设备,所以暂时先用图片进行测试。读取图像的插件位于【图像处理】-》【获取图像】,所以这部分直接copy过来,配置一下即可。

3、图像灰化

        之前的图像是彩色的。所以,这边还需要利用【预处理】插件进行一个灰化的操作。插件位于【图像处理】-》【预处理】。拖过来之后,我们需要手动添加图像灰度化功能。添加好,并且运行之后,就可以看到黑白图片了。

4、轮廓提取

        从图片上可以看出,图像中是一个一个分离的小块。大部分小块都是离散的,部分小块是黏在一起的。对于黏在一起的小块,我们需要用某个属性把他们剔除出去。这里,我们选用了面积这个用的比较多的数值。经过选择后,只剩下一部分点参与最终的拟合圆操作。

5、拟合圆

        所有数据都准备好了之后,就可以开始拟合圆的操作。插件位于【几何工具】-》【拟合圆】。它的输入主要有两个部分,一个是原来的图像,一个各个轮廓的重心点,有了这两个数据,就可以完成拟合圆的操作了。这部分和之前的拟合直线是一样的。那输出的结果也是非常直接的,一个是圆心的位置,一个是半径的大小。

6、图像显示

        如果流程跑起来,我们一般是看不到图像效果的,所以通常我们都会通过图像显示的插件,把结果显示到主窗口上面。显示插件的位置位于【图像处理】-》【图像显示】。在插件中,要做的只是把相应的图像和显示的窗口做一个绑定而已。

        所以,整体来看,这个demo的处理逻辑并不复杂,它的流程就应该是这样的,

7、拟合椭圆

        前面我们讲过,拟合直线、拟合圆和拟合椭圆的流程是非常相似的。所以,这里如果完成的目标是拟合椭圆,那么只需要把第四个插件换成拟合椭圆就可以了。一样的图像输入,一样的轮廓重心输入,单击执行之后,我们就可以看到对应的结果。

        和拟合圆相比较,拟合椭圆的结果稍微复杂一点。它主要有四个输出,分别是椭圆中心坐标、椭圆角度、椭圆长轴长度、椭圆短轴长度。其中椭圆角度比较有意思,这意味生成的椭圆不一定是横平竖直的,它完全有可能是有一点倾斜角度的。

这篇关于上位机图像处理和嵌入式模块部署(qmacvisual拟合圆和拟合椭圆)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/847711

相关文章

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构