上位机图像处理和嵌入式模块部署(qmacvisual轮廓查找)

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

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

        前面我们说过,图像的处理流程一般都是这样的,即灰度化-》降噪-》边缘检测-》二值化-》开闭运算-》轮廓检测。虽然前面的几个步骤都可以通过预处理来进行解决,但是最后的轮廓查找还是要自己来处理的。所以,我们正好借着这个机会学下如何用轮廓进行查找图像。

1、创建项目和创建工程

        创建项目和创建流程,这部分大家可以参考之前的文章。

2、创建流程

        整个流程主要有三部分。第一部分是读取图片,第二部分是图像预处理,第三部分是轮廓检测。

3、预处理的流程

        预处理这部分之前已经沟通过,这里可以再复习一下。目前,预处理的流程主要有灰度化、二值化、形态运算和边缘检测四个部分。这四个部分都可以在预处理流程里面一一处理,

4、轮廓检测

        我们前面所作的一切,最终目的都是为了进行轮廓检测而来。一般来说,到了这一部分,图像上会留下很多的小块区域,但是并不是所有的小块区域都是我们感兴趣的部分。所以,这个时候我们就要找到这些轮廓并且通过某些参数把感兴趣的那部分,删选出来。

        第一步,一般先要输入数据来源。这里的数据来源肯定就是预处理的图像结果了。

        第二步添加过滤方式,算法本身自带很多的过滤方式,比如max_area、area、row等等。我们挑一个最简单的就可以了。比如area,

        第三步设置合理的最小面积和合理的最大面积。如果设置过小,那么很多小数据都会被包含进来。我们想要的那个轮廓却被排除在外,就像这样。

        但是如果区域部分面积过大,那么等于什么也没有选中,这也不合适,

        只有我们挑选了合适的参数之后,才能获得自己最终想要的那个结果。比如说,这里我们选择了10000和30000,就可以在众多候选者当中一下子把我们想要的那个轮廓挖掘出来。

        不仅如此,我们还可以看到相关区域的输出信息。这一点可以在输出显示一栏当中看到,

        这些信息可能暂时还看不出用途。在后续的直线拟合、直线测量中还是可以发挥不小的作用。如图所示,它告诉了我们,合格的轮廓有几个,面积多少,重心在什么地方等等。

5、轮廓的重要性

        在图像处理中,轮廓的重要性怎么说都不为过。有了轮廓,我们就能分割物体,就能通过轮廓的一些列属性拆解出我们需要的那些信息,这些属性包括面积、长度、宽度、长宽之比、圆度等等,根据具体的情况进行筛选。如果是比较小的物体,这些小的物体还可以拟合成直线做测量使用,也是非常方便的。所以大家在后面的实践过程中,可以针对轮廓多多练习、多多实践。

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



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

相关文章

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

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 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

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