基础-MVP定位-找边算子

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

参数配置和应用:

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

找边模式:0/1

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app使用iconfont字体图标

先iconfont选择好自己需要的图标 添加至项目 下载字体文件到本地 将下载的文件解压缩到工程目录static文件夹下 定义好iconfont.css文件的font-face声明,修改好引入的url地址 打开App.vue文件 ,引入static下刚才修改的iconfont.css字体图标文件 完成上线的步骤后就可以全局使用…

电脑右键新建记事本不见了--设置恢复篇(无需操作注册表)

电脑右键新建记事本不见了–设置恢复篇(无需修改注册表) 电脑不知怎么想右键新建记事本结果竟然不见了,搜寻网上的都是什么修改注册表,粘贴代码修复(感觉太复杂了),这里介绍通过设置内重新对记…

IDEA中的神仙插件——Smart Input (自动切换输入法)

推荐专栏:开发环境配置攻略 致力于记录学习过程中各种软件的安装及环境配置操作,并提供详细的步骤说明和丰富的配图。涵盖了 Java、Python、IntelliJ IDEA、Tomcat、MySQL 等常见开发工具和服务器组件的配置,为初学者提供一个实用、全面的配置…

【云备份项目】:环境搭建(g++、json库、bundle库、httplib库)

文章目录 1. g 升级到 7.3 版本2. 安装 jsoncpp 库3. 下载 bundle 数据压缩库4. 下载 httplib 库从 Win 传输文件到 Linux解压缩 1. g 升级到 7.3 版本 🔗链接跳转 2. 安装 jsoncpp 库 🔗链接跳转 3. 下载 bundle 数据压缩库 安装 git 工具 sudo yum…

05_对象性能模式

对象性能模式 面向对象很好地解决了“抽象”的问题,但是必不可免地要付出定的代价。对于通常情况来讲,面向对象的成本大都可以忽略计。但是某些情况,面向对象所带来的成本必须谨慎处理。 典型模型: SingletonFlyweight Singleton 单件模式…

计算机毕业设计 基于SSM的在线预约导游系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

非目标代谢组学(untargeted metabolomics)中常用的方法学考察的方法(四)

QC样本的制备: 混合相同体积的所有待检测样本,然后按照与待测样本相同的前处理方法来处理QC样本,之后进样进行LC-MS分析。 样本检测时,通常在检测最开始运行几次QC样本,之后根据样本量的大小在每检测几个样本之后检测…

什么是JWT?深入理解JWT从原理到应用

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 &#x1…

16,8和4位浮点数是如何工作的

50年前Kernighan、Ritchie和他们的C语言书的第一版开始,人们就知道单精度“float”类型有32位大小,双精度类型有64位大小。还有一种具有扩展精度的80位“长双精度”类型,这些类型几乎涵盖了浮点数据处理的所有需求。但是在最近几年&#xff0…

认识柔性数组

在C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员 限制条件是: 结构体中最后一个成员未知大小的数组 1.柔性数组的形式 那么我们怎样写一个柔性数组呢 typedef struct st_type {int i;int a[0];//柔性数组成员 }ty…

【Kafka专题】Kafka收发消息核心参数详解

目录 前置知识课程内容一、从基础的客户端说起(Java代码集成使用)1.1 消息发送者源码示例1.2 消息消费者源码示例1.3 客户端使用小总结 *二、从客户端属性来梳理客户端工作机制*2.1 消费者分组消费机制2.2 生产者拦截器机制2.3 消息序列化机制2.4 消息分…

开源白板工具 Excalidraw 架构解读

本文讲解开源白板工具 Excalidraw 的架构设计。 版本 0.16.1 技术栈 Vite React TypeScript Yarn Husky。 脚手架原来是用的是 Create React App,但这个脚手架已经不维护了,一年多没发布新版本了。 目前市面上比较流行的 React 脚手架是 Vite&…

协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)

目录 协议栈何时发送数据~ 数据长度 IP模块的分片功能 发送频率 网络包序号~利用syn拼接网络包ack确认网络包完整 确定偏移量 服务器ack确定收到数据总长度 序号作用 双端告知各自序号 协议栈自动重发机制 大致流程 ack等待时间如何调整 是…

色彩一致性自动处理方法在遥感图像中的应用

前言 在获取卫星遥感影像时,由于受不均匀的光照、不同的大气条件和不同的传感器设备等因素的影响,遥感影像中会存在局部亮度和色彩分布不均匀的现象,下面是在BigMap地图下载器中收集的几幅谷歌卫星影像,像下面这种都是拼接好的影像…

python对RabbitMQ的简单使用

原文链接:https://blog.csdn.net/weixin_43810267/article/details/123914324 RabbitMq 是实现了高级消息队列协议(AMQP)的开源消息代理中间件。消息队列是一种应用程序对应用程序的通行方式,应用程序通过写消息,将消…

图像处理与计算机视觉--第五章-图像分割-霍夫变换

文章目录 1.霍夫变换(Hough Transform)原理介绍2.霍夫变换(Hough Transform)算法流程3.霍夫变换(Hough Transform)算法代码4.霍夫变换(Hough Transform)算法效果 1.霍夫变换(Hough Transform)原理介绍 Hough Transform是一种常用的计算机视觉图形检验方法,霍夫变换一…

【vue3】wacth监听,监听ref定义的数据,监听reactive定义的数据,详解踩坑点

假期第二篇,对于基础的知识点,我感觉自己还是很薄弱的。 趁着假期,再去复习一遍 之前已经记录了一篇【vue3基础知识点-computed和watch】 今天在学习的过程中发现,之前记录的这一篇果然是很基础的,很多东西都讲的不够…

【Kafka专题】Kafka集群架构设计原理详解

目录 前言前置知识课程内容一、Kafka的Zookeeper元数据梳理1.1 zookeeper整体数据1.2 Controller Broker选举机制1.3 Leader Partition选举机制1.4 Leader Partition自动平衡机制*1.5 Partition故障恢复机制1.6 HW一致性保障-Epoch更新机制1.7 总结 学习总结感谢 前言 Kafka的…

数学建模Matlab之数据预处理方法

本文综合代码来自文章http://t.csdnimg.cn/P5zOD 异常值与缺失值处理 %% 数据修复 % 判断缺失值和异常值并修复,顺便光滑噪音,渡边笔记 clc,clear;close all; x 0:0.06:10; y sin(x)0.2*rand(size(x)); y(22:34) NaN; % 模拟缺失值 y(89:95) 50;% 模…

竞赛选题 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…