基础-MVP定位-找边算子

找边算子基于卡尺工具来检测边缘特征。

参数配置和应用:

期望的线段,
可以直接配置卡尺的起始点和终止点坐标,将卡尺移动到指定边上。
蓝色线为期望线,绿色线为找到的边。

找边模式:0/1

卡尺配置:设置
卡尺个数:决定了找点的区域个数,将在每个卡尺内找到一个满足的点。至少要找到2个点才能拟合成直线,所以卡尺个数可设置的最小值为2。
搜索长度:决定了各卡尺检索区域搜索的长度,显示区域那个红色的箭头所在的边长即为搜索长度。
投影长度:指卡尺的宽度,红色边是矩形的长,另外那个边就是卡尺的宽。
将投影长度设置的较大有利于去除干扰,
将投影长度设置的较小,对夹角和边界变化时适用性较好。

忽略点个数:忽略部分卡尺找到的点,用于去除误差最大的点,
注意:卡尺数与忽略点的个数差值要大于等于2,(这个软件也已经考虑到了,如果忽略点的数量设的太多了,那么软件会将忽略点数重置到比卡尺数少2个的数量,让卡尺有效的点数至少有2个,来进行直线的拟合),卡尺内红色的点即为忽略点。
注意,如果忽略点过多,软件虽然会调整忽略点个数,保留2个点,但是只剩下两个点,可能找不到边(点数太少就会找不到边,找边要多来几个点,最少搞五六个才比较合适)。

搜索方向:卡尺的搜索是有方向的,卡尺中红色箭头的方向就是搜索的方向,决定了卡尺内查找边缘点的方向
可选默认方向或反方向。

除了在配置界面设置卡尺参数,还可直接在显示界面上拖动卡尺,直接调整卡尺的各种参数,配置界面的值会随之改变。

卡尺设置:可进一步设置卡尺的参数,更精确找到所要找的直线

边缘模式,有单边缘,边缘对两种
单边缘,选择单边缘时,只找一条边
边缘0极性:由暗到明,由明到暗,任何极性
找到的边需要满足该边缘极性。


对比度阈值:对边缘的对比度进行筛选,当边缘的实际对比度大于所设置的对比度阈值时,这条边才能被检测出,Gray是灰度值,对比度就是灰度值的差。把鼠标放到图像上的两边去看一下他们的灰度值就可以知道这条边大概的对比度了。
对比度阈值设置得过大会找不到比该值小的预期的边。

高斯半径,
用于对图像进行高斯模糊处理,
之所以要进行高斯模糊处理,是因为找边界的时候,黑白边界是有过渡带的不是直接从    黑到白或者直接从白到黑,加滤波处理可以滤除一些噪声,使边界的位置更加明显。

一般情况下,设置高斯半径的大小约等于边缘过渡带的大小即可,可根据找边的效果适当调整高斯半径的大小。

排序模式
只有选择单边缘时排序模式才生效。
将每个卡尺内满足上述配置的点进行排序,优先显示满足排序模式的点
对比度方向排序:
将选择对比度最大的点
按中心分数排序:
将显示离期望线段最近的点
搜索方向排序:
每个卡尺将显示最开始搜索到的点
最后利用所选择的点进行直线拟合,使这条直线尽可能穿过更多的点。

选择边缘对时,排序模式失效。
边缘对:
找到的边缘对按搜索方向依次满足边缘0极性,和边缘1极性
边缘0极性:由暗到明,由明到暗,任何极性
边缘1极性:由暗到明,由明到暗,任何极性

边缘对宽度:需要设置到接近实际边缘对宽度
最终选择的边缘对是最接近设置的一对边缘对,由与边缘对是两条边,显示的是边缘对中心的一条边

同样也可右键找边算子,显示其隐藏参数
有以下参数
起始点坐标inStartPiont
终止点坐标inEndPiont
卡尺数inCaliperNum
搜索长度inSearchLength
对比度阈值inContrastThresh

可由其他算子将结果传给找边算子。

可在结果界面查看找到的边的信息。
包括直线的中心点坐标,和旋转角度(弧度),
线段的起始点与终止点坐标
还可查看卡尺内每个选择的点的信息

也可以将查找到的结果的输出参数拖到结果显示界面,查看其值

找多边
找多边与找边算子的不同之处就在于它可以查找多条边,最多查找八条边。
找边1使能默认开启,其他使能默认关闭,可以根据需要随意开启。
每个找边使能互不影响,可分别拖动找边卡尺,找指定边。
其他参数与找边算子完全一致

作用场景:
需要找到边的情况
例如需要计算顶点、线段、圆、斑点等图像到某条边的距离,类似的情况都可以使用找边算子。
 

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

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

相关文章

【文献阅读】Pocket2Mol : 基于3D蛋白质口袋的高效分子采样 + CrossDocked数据集说明

Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets code: GitHub - pengxingang/Pocket2Mol: Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets 所用数据集 与“A 3D Generative Model for Structure-Based Drug Desi…

(零)如何做机器视觉项目

文章目录 1 项目的前期准备1.1 从5个方面初步分析客户需求1.2 方案评估与验证1.3 签订合同 2 项目规划2.1 定义客户端的详细需求2.2 制定项目管理计划2.3 方案评审 3 详细设计3.1 硬件设备的选择与环境搭建3.2 软件开发平台与开发工具的选择3.3 机器视觉系统的整体框架与开发流…

MySQL进阶 —— 超详细操作演示!!!(下)

MySQL进阶 —— 超详细操作演示!!!(下) 五、锁5.1 概述5.2 全局锁5.3 表级锁5.4 行级锁 六、InnoDB 引擎6.1 逻辑存储结构6.2 架构6.3 事务原理6.4 MVCC 七、MySQL 管理7.1 系统数据库7.2 常用工具 MySQL— 基础语法大…

使用代理IP进行安全高效的竞争情报收集,为企业赢得竞争优势

在激烈的市场竞争中,知己知彼方能百战百胜。竞争对手的信息对于企业来说至关重要,它提供了洞察竞争环境和市场的窗口。在这个信息时代,代理IP是一种实用的工具,可以帮助企业收集竞争对手的产品信息和营销活动数据,为企…

Linux UWB Stack实现——MCPS接口

本专栏主要介绍在Linux内核中的UWB Stack的实现,整体基于IEEE 802.15.4框架,采用Qorvo UWB芯片DW3000,开源协议版本为GPLv2。 在本篇文章中,主要介绍MCPS接口的定义,MCPS(MAC Common Part Sublayer&#xf…

python二次开发CATIA:根据已知数据点创建曲线

已知数据点存于Coords.txt文件如下: 8.67155477658819,20.4471021292557,0 41.2016126836927,20.4471021292557,0 15.9568941320569,-2.93388599177698,0 42.2181532110364,-6.15301746150354,0 43.0652906622083,-26.4843096139083,0 -31.6617679595947,-131.1513…

分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测&…

Latex中公式输入

矩阵中的零 \mathrm{O}向量中零 \boldsymbol{0}单位矩阵 \mathrm{I}积分符号中dx的的用正体,x用斜体。 \mathrm {d} x数学模式下的正体字母: 在数学模式下,可以使用\mathrm{}命令将字母转换为正体。例如,\mathrm{A}将会显示为…

C++项目:【高并发内存池】

文章目录 一、项目介绍 二、什么是内存池 1.池化技术 2.内存池 3.内存池主要解决的问题 4.malloc 三、定长的内存池 四、高并发内存池整体框架设计 1.高并发内存池--thread cache 1.1申请内存: 1.2释放内存: 1.3用TLS实现thread cache无锁访…

rabbitMQ死信队列快速编写记录

文章目录 1.介绍1.1 什么是死信队列1.2 死信队列有什么用 2. 如何编码2.1 架构分析2.2 maven坐标2.3 工具类编写2.4 consumer1编写2.5 consumer2编写2.6 producer编写 3.整合springboot3.1 架构图3.2 maven坐标3.3 构建配置类,创建exchange,queue&#x…

想要精通算法和SQL的成长之路 - 二叉树的判断问题(子树判断 | 对称性 | 一致性判断)

想要精通算法和SQL的成长之路 - 二叉树的判断问题 前言一. 相同的树二. 对称二叉树三. 判断子树 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 相同的树 原题链接 这题目典型的递归题: 如果两个节点都是null,我们返回true。如果两个节点一个nul…

Android 13.0 SystemUI下拉状态栏增加响铃功能

1.概述 在13.0的产品定制化开发中,在对systemui的状态栏开发中,对SystemUI下拉状态栏的QuickQSPanel区域有快捷功能键开关,对于增加各种响铃快捷也是常用功能, 有需要增加响铃功能开关功能,接下来就来分析SystemUI下拉状态栏QuickQSPanel快捷功能键开关的相关源码,然后实…

centos 部署nginx 并配置https

centos版本:centos 7.8 (最好不要用8,8的很多用法和7相差很大) 一.安装nginx 1。下载Nginx安装包:首先,访问Nginx的官方网站(https://nginx.org/)或您选择的镜像站点,找…

C#学生选课及成绩查询系统

一、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要,它应该具有传统的手工管理所无法比拟的…

关于算法复杂度的几张表

算法在改进今天的计算机与古代的计算机的区别 去除冗余 数据点 算法复杂度 傅里叶变换

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误

文章目录 1. 复现错误2. 分析错误3. 解决问题3.1 下载Hadoop3.2 配置Hadoop3.3 下载winutils3.4 配置winutils 1. 复现错误 今天在运行同事给我的项目,但在项目启动时,报出如下错误: java.io.FileNotFoundException: java.io.FileNotFoundEx…

嵌入式系统中C++内存管理基本方法

引言 说到 C 的内存管理,我们可能会想到栈空间的本地变量、堆上通过 new 动态分配的变量以及全局命名空间的变量等,这些变量的分配位置都是由系统来控制管理的,而调用者只需要考虑变量的生命周期相关内容即可,而无需关心变量的具…

基于SSM的电动车上牌管理系统(有报告)。Javaee项目。

演示视频: 基于SSM的电动车上牌管理系统(有报告)。Javaee项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringM…

Android adb查看系统时间

Android adb查看系统时间 C:\Users\aa> C:\Users\aa> C:\Users\aa>adb shell I:/ $ date Mon Sep 25 12:45:14 CST 2023Android adb 设置系统时间 MMDDhhmm[[CC]YY][.ss] POSIX I:/ $ date 06030931 Sat Jun 3 09:31:00 CST 2023YYYY-MM-DD [hh:mm[:ss]] ISO 8601…

IIS解决上传文件大小限制

IIS解决上传文件大小限制 目的&#xff1a;通过配置文件和IIS来解决服务器对上传文件大小的限制 1&#xff1a;修改配置文件&#xff08;默认为4M 值的大小根据自己情况进行修改&#xff09; <httpRuntime maxRequestLength"2048000" /> 2&#xff1a;修改IIS配…