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

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资源消耗如下:

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

相关推荐
W_3260013 小时前
Python-OpenCV:库、环境搭建、图片与摄像头解析
开发语言·图像处理·python·opencv·机器学习
W_3260013 小时前
Python-OpenCV:画布、图形、文字、调色滑动条
图像处理·python·opencv·机器学习·计算机视觉
FPGA-ADDA1 天前
雷通微系统推出RTSD2605:RFSoC + 英伟达GPU一体化信号处理平台
信号处理·fpga·rfsoc·zu47dr·47dr
AndrewHZ1 天前
图像处理入门006:图像质量评价三剑客:PSNR / SSIM / MSE 原理与代码实战
图像处理·计算机视觉·cv·psnr·rse·ssim
AndrewHZ2 天前
图像处理入门(第005期):颜色空间入门——RGB/HSV/CMYK/Lab
图像处理·python·opencv·hsv·rgb·色彩空间
FPGA小迷弟2 天前
Vivado中高速收发器GTX/GTH的配置与调试实战
fpga开发·fpga·硬件开发
FPGA小迷弟2 天前
Vivado ILA与VIO调试工具实战指南:从入门到精通
fpga开发·fpga·硬件开发
格林威3 天前
多相机并行采图最佳实践:Task.WhenAll + 异常处理 + 资源释放
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·机器视觉
FPGA小迷弟3 天前
FPGA状态机设计详解:从Moore到Mealy的完整指南
fpga开发·fpga
微小冷3 天前
海康威视相机C#二次开发指图像采集
数码相机·c#·二次开发·机器视觉·海康威视·mvs·相机开发