上位机图像处理和嵌入式模块部署(qmacvisual预处理实战)

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

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

        前面,我们说了图像预处理,但是没有给出相应的实战案例。今天还是有必要做一个说明的。预处理方法虽然相关的算法很多,但还是有它基本规律的。一般就是灰化-》二值化-》边缘检测-》开闭运算-》轮廓检测等等。具体实践效果,还是要看具体的图像。当然,中间也会涉及到参数的调整,这部分也不是很复杂。

1、创建项目和工程

        首先创建一个项目和一个工程,为后面的图像打下基础。

2、创建图像

        利用获取图像插件,选择一幅图像打开。如果对图像部分不是很熟悉,可以打开自己做过实验的一幅图像,也是可以的。假设,本次图像处理的目标,就是将图像中蓝色的部分提取出来。

3、利用预处理开始处理图像

        前面我们说过,图像一般是需要进行一步一步地做预处理的。这里,我们首先进行灰化的操作。灰化,就是把图像从彩色变成黑白图像,这是常规的一种做法。虽然转变的过程当中会损失掉一些信息,但是处理速度会变快很多。而且更多时候,还会对图像的大小做出改变,比如长度和宽度都调整为原来的一半等等。

        图像灰化之后,就可以进行二值化运算了。所谓的二值化,就是低于某个数值的像素,全部转成黑色。而大于某个数值的像素则全部变成白色。这中间,选择什么样的阈值,就有讲究了。我们选择了一个简单的最大熵阈值法,主要是因为它不用配置。

        添加之后的效果还是比较好的。不过我们也隐隐发现,在图像当中还是存在着一些黑色的杂点。这个时候就要用形态运算来解决了。是使用腐蚀,还是用膨胀,这里面有讲究的。如果先腐蚀再膨胀,一般是为了去除杂点;如果先膨胀再腐蚀,往往是为了将相连的物体连接在一起。我们选择了闭运算。大家实际使用的时候,也没有必要去刻意记忆。

        看上去整体都慢慢接近于我们想要提取的那个状态了。大家不用着急,下一步可以通过边缘算子,进一步提取图像中的边缘信息。提取之后,我们就可以看到一块一块的像素,被切割成了若干个子模块。这些子模块通过各种各样的参数筛选出来。当然,本次图像处理的目的还是为了提取轮廓,这里我们选择了canny算子。

        图中白色的部分,就是我们想要的轮廓的信息。这幅图像比较简单,我们简单通过长宽面积、长度等一些信息,就可以将需要的部分提取出来了。实际项目中,要比这个复杂得多。但是图像处理的流程都是类似的预处理往往紧跟着图像的读取,为后面的轮廓提取、直线拟合、测量与判别打下一个坚实的基础。大家可以多多实践、多多练习,慢慢就可以把经验积累出来了。

        当然,如果图像比较大,可能还会涉及到roi截取、旋转和镜像,当然这就是另外一个topic了。放置的插件位置,一半就在图像读取和图像预处理之间进行。

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



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

相关文章

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的