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

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

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

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

1、创建项目和工程

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

2、创建图像

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

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

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

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

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

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

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

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

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



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

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的