首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA+DSP核心架构的实时三维图像信息处理(3)

FPGA+DSP核心架构的实时三维图像信息处理(3)

3 软件设计与实现
3.1 图像预处理算法
   
如图3,激光带预处理算法的实现[2]为:由于有激光帧和无激光帧是依次交替产生的,因此首先要保存一帧有激光帧,在其下一帧,即无激光帧到来时,将保存的有激光帧和当前无激光帧的相同行、列的点相减,再对结果进行亮度提取,处理完成后的数据存入目标缓存。

   
如图4,实现提取轮廓线算法分为三个部分[3],首先由计算比较模块对输入像素点的值与预先计算好的阈值进行比较,判断其是否为目标像素;然后利用一个序列检测模块进行一维尺度滤波以去除某些噪声点;再经过一个边缘检测模块,提取出每行的第一个目标像素作为目标的左边缘点;完成后将此点所对应的列地址数据存入目标缓存。在某些情况下,可能整行都检测不到边缘点,这时将0存入目标缓存作为无边缘点的标识。

   
提取中心线算法实现比较简单,只需对目标缓存的写允许信号加以控制,使RGB数据只能在每行的中心点处写入目标缓存即可。
3.2 三维重建和构型
   
如图5所示,高速DSP将根据预处理信息得到的激光标志线、轮廓线和中心颜色线数据与源数字化图像结合起来进行三维重建。首先根据获取的图像标志点数据结合控制点三维坐标数据计算出系统定标数据;其次根据轮廓线计算物体外表面展开图,再依据定标数据结合展开图和机械参数对图像中的坐标点进行计算,给出数据集,输出深度数据文件;最后对多次扫描的数据进行融合,将离散点构型成立体模型(或立体彩色模型),将模型生成DXF、STL等数据文件传入PC机,使用后端处理软件进行显示[3]。

3.3 算法实现
   
图像预处理算法设计使用Verilog HDL在Xilinx公司的ISE8.1集成编译环境下成功实现;FPGA开发流程不再赘述。
   
DSP三维重建算法已使用C语言在ADI公司Visual DSP++环境下成功实现[4]。算法实现步骤如下:①用C语言编程实现算法。②使用Visual DSP++编译器将源程序编译成目标文件。③根据产生的目标文件,分析结果及源程序结构并优化源代码。④应用TigerSHARC 201评估板进行运算时间评估。⑤重复上述步骤直至达到系统实时性要求,最后下载到目标板。
   
整个系统联机运行稳定,满足设计要求,实时性好。
   
实时三维图像信息处理以其数据量大、速度要求高、处理过程复杂的特点使其难以使用集成电路实现。本文研究的以目前最新高性能处理器的FPGA+DSP为核心架构的三维图像处理系统精心设计了算法的硬件实现,充分利用了两种处理器的长处。实验表明,该系统有着良好的性能,对实现基于网络的实时三维扫描应用,如三维传真、机械远程加工、快速成型和虚拟现实,有着重要的意义。
继承事业,薪火相传
返回列表