上位机图像处理和嵌入式模块部署(qmacvisual区域提取)

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

        在图像处理中,有两部分比较重要,一个是区域分割,一个是区域提取。区域分割,比较好理解,就是把图像中重要的内容彼此分割开。这里面就涉及到色彩提取、边缘提取、二值化、膨胀、腐蚀等操作。甚至于说,如果软件算法不满足区域分割要求,还需要光源的配合。有了区域分割之后,接下来就是区域提取,这部分也比较重要。

        所谓的区域提取,就是通过自定义一些过滤条件,把我们感兴趣的区域提取出来。目前opencv里面SimpleBlobDetector自带的提取条件比较少,主要包括了面积、灰度、圆度、惯性和凸度这五个维度。但是真正的商用软件halcon,这方面的过滤标准要多的多。大家在软件开发的时候,不妨多看看halcon上面提取的条件有哪些。

1、五个维度的高低标准

        关于opencv提供的这五个维度,它的标准是什么样的。其实opencv官方已经提供了相应的测试范例,我们直接看这个测试范例就可以学习了。

        如图所示,这5个标准,从上到下依次是面积、灰度阈值、圆度、惯性、凸度。面积比较好理解,就是从小到大的顺序。灰度也不难,就是从灰到黑的程度。圆度的话,就是从有棱有角到边缘光滑的过程。惯性有点复杂,简单看,可以认为是直线到圆的过程。凸度可以反过来看,凹进去部分越少,那么凸度就越高。

2、创建项目和创建流程

        熟悉了上面的知识点,接下来就可以开始准备实验操作了。首先,还是要创建项目、创建流程。

3、引入区域提取插件

        区域提取的插件位于【检测识别】-》【斑点分析】,直接用鼠标把它拖到流程下面即可。双击之后,不出意外我们就可以看到这样的窗口,

        需要配置的内容主要就是输入图像、检测条件、具体条件的参数。检测条件可以单选,或者是多选 。具体条件的参数,大家根据自己的需求,灵活做出选择。在上面的tab页中,还有一个ROI配置,这部分也可以搭配着灵活使用。

4、整体流程的设计

        区域选择还是比较简单的。我们在实际测试的时候,一般还要搭配上获取图像、图像显示,这样效果比较好一点。

        另外,还想表达的一点,就是opencv自身提供的检测条件远远不能满足需求,很多时候需要我们自己手写代码筛选出合格的区域。这里的条件比如长度、宽度、长宽之比、周长、具体圆度的系数、颜色区间、区域的roi位置、区域占整幅图像的比例等等。所以,实际情况要比opencv提供的case要复杂得多,大家可以参考opencv的做法,对于特定的场景,自己去写代码筛选就可以了。本身opencv提供的方法,仅仅是起了一个抛砖引玉的作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/775157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC标签设计工具 图片控件上,移动鼠标显示图片控件内的鼠标xy的水平和垂直辅助线要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 源码

需求:要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 我生成标签时,需要对齐和 调文字字体大小。这工具微调 能快速知道位置 和字体大小。 标签设计(点击图片,上下左右箭头移动 或-调字体) 已经够用了,滚动条还没完…

ubuntu下docker常见指令

1.开机自启动 sudo systemctl enable docker 2.运行/停止/重启/查看docker环境 sudo systemctl start docker sudo systemctl stop docker sudo systemctl restart docker sudo systemctl status docker 3.创建并运行一个docker容器 sudo docker run hello-world sudo docker…

Jmeter 从登录接口提取cookie 并 跨线程组调用cookie (超详细)

文章目录 一、开始前的准备二、 业务场景介绍三、从登录接口提取cookies四、跨线程组调用cookies 一、开始前的准备 1、安装Jmeter,参考文章:JMeter 3.1 和JMeterPlugin的下载安装 2、设置配置文件使Cookie管理器保存cookie信息。 修改apache-jmeter-x…

hive 、spark 、flink之想一想

hive 、spark 、flink之想一想 hive 1:hive是怎么产生的? Hive是由Facebook开发的,目的是让拥有SQL知识的分析师能够在Hadoop上进行数据查询。Hive提供了类SQL的查询语言HiveQL,通过将HiveQL查询转换为MapReduce任务来在Hadoop…

手机安卓系统内嵌测试代码分享

手机安卓系统内嵌了很多测试代码,分享一下。鸿蒙脱胎于安卓,绝大多数通用。 Testing Menu ##4636##Display Info about device ##4636##Factory Restore ##7780##Camera Information ##34971539##Completely Wipe device, install stock firmware 2767*3…

PPT没保存怎么恢复?3个方法(更新版)!

“我刚做完一个PPT,正准备保存的时候电脑没电自动关机了,打开电脑后才发现我的PPT没保存。这可怎么办?还有机会恢复吗?” 在日常办公和学习中,PowerPoint是制作演示文稿的重要工具。我们会在各种场景下使用它。但有时候…

基础NLP知识了解

基础NLP知识… 线性变换 通过一个线性变换将隐藏状态映射到另一个维度空间,以获得预期维度的向量 $ outputs hidden_layer * W b$ 这里的W是权重矩阵,b是偏置项,它们是线性变换的参数,通过训练数据学习得到。输出向量的维度…

目标检测+车道线识别+追踪

一种方法: 车道线检测-canny边缘检测-霍夫变换 一、什么是霍夫变换 霍夫变换(Hough Transform)是一种在图像处理和计算机视觉中广泛使用的特征检测技术,主要用于识别图像中的几何形状,尤其是直线、圆和椭圆等常见形状…

ssm小区车库停车系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm小区车库停车系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模…

在Spring Boot中使用矩阵变量

//1、语法: 请求路径:/cars/sell;low34;brandbyd,audi,yd //2、SpringBoot默认是禁用了矩阵变量的功能 // 手动开启:原理。对于路径的处理。UrlPathHelper进行解析。 // removeSemicolonContent(移除分号内容&a…

持续集成与版本控制的相关概念

目录 一、持续集成 1.1 持续集成基本概念 1.1.1 持续集成的含义 1.1.1.1 持续集成流程是依赖产品版本迭代和版本分支而产生的 1.1.1.2 持续集成流程中包含的内容 1.1.2 传统打包模式说明 1.1.2.1 传统打包模式概述 1.1.2.2 传统打包模式问题 1.1.3 持续集成模式 1.1.…

二、Vite React基础配置,Ant Design Mobile组件库,axios,路由的使用

文章目录 创建reactts项目安装Ant Design Mobile移动端组件库安装路由配置别名安装aixos配置封装 创建reactts项目 创建好后进入react_ts目录npm i 安装依赖 // 固定写法,可单独创建 名字 模板 reactts npm create vitelatest react_ts -- --templ…

day70 Mybatis使用mapper重构xml文件重新修改商品管理系统

day67 基于mysql数据库jdbcDruidjar包连接的商品管理用户购物系统-CSDN博客 1多表操作 2动态SQL 项目中使用的为商品管理系统的表 一 查询商品信息 编号,名称,单价,库存,类别 1表:商品表,类别表 n对1…

java图书管理系统(简易)

实现的基本功能: 登录时,需要输入姓名,然后选择作为管理者还是普通用户。选择成功后选择想要实现的功能。管理者的目录下方有有五个功能,而普通用户有4个功能,如下图 首先我们要建立Book这个类,里面包含书…

sqlite跨数据库复制表

1.方法1 要将 SQLite 数据库中的一个表复制到另一个数据库,您可以按照以下步骤操作: 备份原始表的SQL定义和数据: 使用 sqlite3 命令行工具或任何SQLite图形界面工具,您可以执行以下SQL命令来导出表的SQL定义和数据&#xff1a…

开发过程中PostgreSQL常用的SQL语句,持续更新ing

修改字段类型 -- ALTER TABLE 模式名.表明 ALTER COLUMN 字段名 TYPE 类型; alter table alarm.alarm_produce_config alter column alarm_level type int4;重置序列值 -- ALTER SEQUENCE 序列名 RESTART WITH 序列值; alter sequence enterprise_type_id_seq restart with 1…

腾讯云轻量8核16G18M服务器多少钱一年?

腾讯云轻量8核16G18M服务器多少钱一年?优惠价格4224元15个月,买一年送3个月。配置为轻量应用服务器、16核32G28M、28M带宽、6000GB月流量、上海/广州/北京、380GB SSD云硬盘。 腾讯云服务器有两个活动,一个是官方的主会场入口,还…

算法打卡day19

今日任务: 1)235. 二叉搜索树的最近公共祖先 2)701.二叉搜索树中的插入操作 3)450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 题目链接:235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode&…

kafka-eagle 配置文件修改使用自带的数据库

###################################### multi zookeeper & kafka cluster list Settings prefixed with ‘kafka.eagle.’ will be deprecated, use ‘efak.’ instead ###################################### efak.zk.cluster.aliascluster1 #cluster1.zk.listip1:…

javaScript【2】

在 JavaScript 中,let、var 和 const 是用于声明变量的关键字,它们之间有一些区别。 var:var 是 JavaScript 最早引入的变量声明关键字。使用 var 声明的变量具有函数作用域,意味着变量在声明它的函数内可见。如果在函数内部使用…