激光条纹中心线提取算法FPGA实现方案

news2024/11/29 12:50:14

1 概述

        激光条纹中心线提取是3D线激光测量领域一个较为基础且重要的算法。目前,激光条纹中心线提取已有多种成熟的算法,有很多相关的博客和论文。

        激光条纹中心线提取的真实意义在于工程化和产品化的实际应用,而很多算法目前只能用于学术研究或理论实验,无法在应用端或产品端商用化落地。

        常见的中心线提取算法有:

  • 边缘法
  • 中心法
  • 阈值法
  • 形态学细化法
  • 极值法
  • 灰度重心法
  • 曲线拟合法
  • Steger算法

        上述这些算法中只有灰度重心法,曲线拟合法,Steger算法3种方法可以达到亚像素精度。

        由于测量环境的影响,及被测物体表面材料及轮廓的多样性,实际成像的激光条纹会出现噪声、起伏、倾斜、重叠、间断、过曝、反光等现象。没有一种算法可以完全适应各种应用场景并解决所有这些问题。在实际应用时,往往需要以某一种算法为基础,配合设计多种策略进行排列组合使用,尽可能解决会影响测量结果的问题。

2 FPGA实现方案

        笔者开发了一套已成熟商用化的FPGA版本的高性能中心线提取算法。性能指标可达市场一线3D线激光测量类产品,可适配各种分辨率及不同速度等级的CMOS图像传感器。例如:

       横向分别率为2K量级,每个像素时钟输出8个像素点的CMOS图像传感器。如,安森美的PYTHON2000;索尼的IMX421。以Xilinx 7系列FPGA为例,资源消耗如下:

        横向分别率为2K量级,每个像素时钟输出32个像素点的CMOS图像传感器。如,LUXIMA的LUX2810、LUX2100;E2V的Flash 2K。FPGA资源消耗如下:

        横向分别率为4K量级,每个像素时钟输出64个像素点的CMOS图像传感器。如,E2V的Flash 4K。FPGA资源消耗如下:

        若需项目合作请私信详询。

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

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

相关文章

Days 34 ElfBoard 音频接口

音频接口介绍 音频模块采用了 NAU88C22 芯片,芯片数据信号使用 I2S 接口进行通讯,主要信号功能: SAI_MCLK:音频信号主时钟; SAI_BCLK:音频信号位时钟; SAI_SYNC:左右声道控制信号&am…

2024-2-18-IO作业

作业: 1> 要求: 源代码: #include "myhead.h" int main(int argc, char const *argv[]) {FILE *fpNULL;if ((fpfopen("./text.txt","r"))NULL){perror("fopen error");return -1;}char buf[64]{0};int lin…

GPT-5,奥特曼最新剧透

GPT-5的消息越来越藏不住了,连OpenAI CEO奥特曼都不再遮遮掩掩—— 开始在各种公开场合频繁造势,不断挑动科技圈的神经。 在达沃斯经济论坛,奥特曼一共参加了4-5场活动,透露的关键信息包括: 如果GPT-4目前解决了人类…

Linux第60步_“buildroot”构建根文件系统第2步_配置“buildroot下的busybox”并测试“buildroot”生成的根文件系统

1、查看“buildroot下的busybox”安装路径 打开终端 输入“ls回车” 输入“cd linux回车/”,切换到到“linux”目录 输入“ls回车”,查看“linux”目录下的文件和文件夹 输入“cd buildroot/回车”,切换到到“buildroot”目录 输入“ls…

PyCharm 调试过程中控制台 (Console) 窗口内运行命令 - 实时获取中间状态

PyCharm 调试过程中控制台 [Console] 窗口内运行命令 - 实时获取中间状态 1. yongqiang.py2. Debugger -> Console3. Show Python PromptReferences 1. yongqiang.py #!/usr/bin/env python # -*- coding: utf-8 -*- # yongqiang chengfrom __future__ import absolute_imp…

数学实验第三版(主编:李继成 赵小艳)课后练习答案(十四)(1)

实验十四:水塔水流量估计模型 练习一 1.海水温度随着深度的变化而变化,海面温度较高,随着深度的增加,海水温度越来越低.通过验观测得一组海水温度t与深度h的数据如下: h/m 0 1.5 2.5 4.6 8.2 12.5 16.5 26.5 t/℃ 23.5 22.9 20.1 19.1 15.4 11.5 …

阿里云服务器配置怎么选?CPU内存带宽配置多大?

阿里云服务器配置怎么选择?根据实际使用场景选择,个人搭建网站可选2核2G配置,访问量大的话可以选择2核4G配置,企业部署Java、Python等开发环境可以选择2核8G配置,企业数据库、Web应用或APP可以选择4核8G配置或4核16G配…

IDEA2023.3.4开启SpringBoot项目的热部署【简单明了4步操作】

添加devtools依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional> </dependency>IDEA开启自动编译 …

Windows11(非WSL)安装Installing llama-cpp-python with GPU Support

直接安装&#xff0c;只支持CPU。想支持GPU&#xff0c;麻烦一些。 1. 安装CUDA Toolkit (NVIDIA CUDA Toolkit (available at https://developer.nvidia.com/cuda-downloads) 2. 安装如下物件&#xff1a; gitpythoncmakeVisual Studio Community (make sure you install t…

对尾递归的理解(有哪些应用场景)

文章目录 一、递归二、尾递归三、应用场景参考文献 一、递归 递归&#xff08;英语&#xff1a;Recursion&#xff09; 在数学与计算机科学中&#xff0c;是指在函数的定义中使用函数自身的方法 在函数内部&#xff0c;可以调用其他函数。如果一个函数在内部调用自身本身&am…

如何将OSGB格式的倾斜模型转换成3DTiles?

通过以下方法可以将OSGB转换成3DTiles。 方法/步骤 1、下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe&#xff0c;安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“倾斜模型”下拉菜单&#xff0c;…

C++职工管理系统

->需求分析以及案例展示、创建项目、创建职工管理类、菜单功能实现、退出系统功能实现、职工抽象类和普通员工类实现、经理类和老板类实现、添加职工功能实现、文件交互(->写文件、读文件1-文件未创建、读文件2-文件为空、读文件3-统计人数、读文件4-初始化完毕&#xff…

代码提交commit规范工具

一、idea工具 1.1安装 下载插件&#xff0c;以下是插件名 git commit message helper 安装后重启idea。 1.2使用 第一步&#xff1a; 根据代码提交的不同情况&#xff0c;选择不同的类型 feat表示&#xff1a;新增特性 fix表示&#xff1a;修复bug 等等。。。。 1.3效果…

扶贫助农|基于springboot的扶贫助农系统设计与实现(源码+数据库+文档)

扶贫助农系统目录 目录 基于springboot的扶贫助农系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、扶贫任务管理 3、论坛信息管理 4、扶贫公告管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐…

2.18总结

这两天在加强对最短路径的学习&#xff0c;除了Floyed比较简单之外&#xff0c;dijkstra、bell-mandford和SPFA学起来感觉有些难&#xff0c;洛谷上的模板题卡了半天都没写出来&#xff0c;最后只能通过看题解来帮助自己完成。 SPFA 算法实现&#xff1a; 最短路径算法对比比较…

java的泛型【详解】

定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09; &#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型。 作用&#xff1a;泛型提供了在编译阶段约束所能操作的数据类型&#xff0c;并自…

【MySQL】变量、流程控制

一、变量 在MySQL的存储过程与函数中&#xff0c;可以使用变量来存储查询或计算的中间结果数据&#xff0c;或者输出最终的结果数据。它可以分为用户自定义变量与系统变量 1、系统变量 1&#xff09;系统变量分为全局变量&#xff08;需要使用关键字global&#xff09;和会话…

上位机图像处理和嵌入式模块部署(boost库的使用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 作为c程序员来说&#xff0c;除了qt之外&#xff0c;另外值得学的开发库就是boost。boost本身包含的内容非常多&#xff0c;基本我们常用的功能都已…

linux下ffmpeg调用GPU硬件解码(VDPAU/VAAPI)保存文件

本文讲解在linux下面&#xff0c;如何通过ffmpeg调用GPU硬件解码&#xff0c;并保存解码完的yuv文件。 其实&#xff0c;ffmpeg自带的例子hw_decode.c这个文件&#xff0c;就已经能满足要求了&#xff0c;因此&#xff0c;本文就尝试讲解以下hw_decode这个例子。hw_decode.c可以…

使用vscode传入参数的方式进行debug

使用vscode传入参数的方式进行debug {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0","configurations": [{&quo…