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

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

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

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

1、创建项目和创建工程

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

2、创建流程

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

3、预处理的流程

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

4、轮廓检测

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

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

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

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

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

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

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

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

5、轮廓的重要性

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

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



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

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图

Nginx添加内置模块过程

《Nginx添加内置模块过程》文章指导如何检查并添加Nginx的with-http_gzip_static模块:确认该模块未默认安装后,需下载同版本源码重新编译,备份替换原有二进制文件,最后重启服务验... 目录1、查看Nginx已编辑的模块2、Nginx官网查看内置模块3、停止Nginx服务4、Nginx

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码