光条中心提取方法总结(一)

2023-10-12 13:59

本文主要是介绍光条中心提取方法总结(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现阶段光条中心提取主要分为两大类:传统算法和深度学习算法,其中传统算法应用较广,主要有几何中心法和能量中心法;而且对于深度学习算法 ,近几年刚开始流行,关于这类的论文屈指可数。

一、传统算法

1)提取 光条的几何中心法 ,如阈值法 、中心法等;

2)提取 光条的能量中心法, 如极值法 、重心法、拟合法等。 提取几何中心算法简单 ,运行速度快, 但精度低, 受阈值与噪声影响较大。

对于这些基本算法不做赘述,以下算法均为论文所提出的改进算法(附论文)。

1.基于图像灰度梯度的条纹中心全分辨率精确提取方法

论文:线结构光条纹中心的全分辨率精确提取

首先基于灰度阈值法 ,利用条纹在行与列上的 分布情况提取条纹全分辨率中心点 ,并作为初值, 然后在初值点计算条纹法向, 最后 ,在条纹法向上 精确获取条纹的能量中心 。

原理:(1)沿y方向应用灰度阈值法依次获取条纹中心:

 式中 c[ i] 为条纹中心数组, U 和 V 分别为摄像机 上图像在 x , y 方向的最大分辨率 , uj 为条纹在 y =i 时 x 方向上的几何中心。  几何中心可以先用Canny进行边缘检测,然后再用检测后得到的光条纹两侧边缘图像取中值得到几何中心。(方法类似灰度重心法)

理解:K代表的是沿x方向的灰度梯度,如果K>1,代表两点之间的灰度梯度过大 ,图像梯度可以反馈为某点的直线斜率(导数),当K=1时代表斜率均衡,K>1代表梯度过大或者梯度为负,那么为了准确性,中间务必要再取n个点来作为中心点,这里n=K-1。

计算条纹法向:

理解:这里的梯度Gx,Gy都是用Sobel计算的,Sobel利用一个矩阵来进行卷积,思路类似于求一阶导和二阶导时用的也是矩阵卷积,用sobel可以卷积出每一点在x方向和y方向的梯度。 

计算出梯度后,采用 Bazen 方法计算光条在点(i , j) 处的法向 : 取以(i , j)为中心的 w ×w 子块, 计算点(i , j)的方向 θ(i , j):

 还可以用均方灰度梯度法计算法向.

获取条纹精确中心

这篇关于光条中心提取方法总结(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据