基于FPGA加速的矢量图视觉处理方法及系统与流程
- 国知局
- 2025-01-10 13:48:06
本发明属于图像处理,具体涉及基于fpga加速的矢量图视觉处理方法及系统。
背景技术:
1、近年来,随着深度卷积神经网络技术的发展,计算机视觉处理被越来越广泛地应用于各行业各领域,例如工业自动化、自动驾驶技术、物联网融合等行业领域。从计算机层面出发,传感器捕获的数据最终都是以位图的形式存储和处理,然而,矢量图作为设计行业不可或缺的重要角色,一直是各类设计工具图形图像格式的后台支撑。因此,在对设计工具所支持格式的文件进行计算机视觉处理时,首先需要将矢量模型或者类矢量模型转换为位图,然后再导入到计算机视觉系统进行分析处理。
2、矢量图格式一般借助标志语言采用函数描述一个封闭图形,具有缩放不失真性。显而易见,任何一个封闭图形可以由多种函数表达式描述,因此,使用标志语言描述的矢量图即使在描述同一图形时也不一定具备一致性,这给直接对矢量图进行处理分析带来了一定的挑战。而位图可以通过统一的格式约束,通过数组矩阵的方式表述,因此,同一种格式的统一位图有且只有一种描述方式,这也是计算机视觉分析处理过程中特别青睐位图的原因。总之,矢量图借助计算机视觉进行分析处理时,首先需要以位图形式导入系统,该过程主要有以下实现方式:首先是借助视觉传感器读取矢量图将其转化为位图;其次是通过类似于屏幕截图的方式;而最常用的方式还是对矢量图描述语言进行解析,然后根据尺寸直接转化为位图的方式。
3、然而,目前这三种主流方式都存在各方面的问题,前两种方式,在转换格式的时候,会丢失尺寸精度信息,因此,如果需要做到按用户目标转换可能需要增加很多繁杂的步骤,例如增加尺寸标定指示,多图融合等。直接解析矢量图并将其转换为位图可以直接从解析数据中获得尺寸信息,然而这种方法在转换大尺寸矢量图的过程中需要占用大量的运行内存,对机器的硬件要求较高,转换速度慢且转换时间久。因此,亟需一种高效将大尺寸矢量图处理为不丢失细节位图结果的方法。
技术实现思路
1、本发明的目的是提供基于fpga加速的矢量图视觉处理方法及系统,用以解决现有技术中存在的上述问题。
2、为了实现上述目的,本发明采用以下技术方案:
3、第一方面,本发明提供基于fpga加速的矢量图视觉处理方法,应用于上位机,包括:
4、获取输入的svg矢量图文件;
5、对svg矢量图文件进行矢量图解析及矢量图分割处理,得到若干子矢量图数据;
6、将各子矢量图数据转换为对应的位图数据,并将位图数据转换为一维数组;
7、对各一维数组进行数据转换处理,得到对应的第一传输数据串;
8、利用设定的帧头数据对各第一传输数据串进行数据封装,得到对应的传输数据帧,将各数据帧通过通信接口发送至fpga处理器,使得fpga处理器接收各数据帧进行解析,得到帧头数据和第一传输数据串,将第一传输数据串转换为对应的十六进制数组,并根据帧头数据对各十六进制数组进行双fifo流水线数据并行处理,得到对应的处理后数组,并将处理后数组转换为对应的第二传输数据串反馈至通信接口;
9、通过通信接口接收fpga处理器反馈的第二传输数据串,并将第二传输数据串转换为处理后数组;
10、对处理后数组进行存储及输出展示。
11、在一个可能的设计中,所述对svg矢量图文件进行矢量图解析及矢量图分割处理,得到若干子矢量图数据,包括:
12、对svg矢量图文件进行矢量图解析,得到对应的矢量图数据及矢量图尺寸参数,并根据矢量图尺寸参数将矢量图数据分割为若干尺寸一致的子矢量图数据。
13、在一个可能的设计中,所述将各子矢量图数据转换为对应的位图数据,并将位图数据转换为一维数组,包括:
14、将各子矢量图数据转换为对应的rgb三颜色通道数据,并将rgb三颜色通道数据转换为一维数组。
15、在一个可能的设计中,所述对各一维数组进行数据转换处理,得到对应的第一传输数据串,包括:
16、对各一维数组进行进制转换处理,得到对应的十六进制数组,并将各十六进制数组转换为对应的第一传输数据串。
17、第二方面,本发明提供基于fpga加速的矢量图视觉处理方法,应用于fpga处理器,包括:
18、接收上位机通过通信接口传输的数据帧,所述数据帧由上位机获取输入的svg矢量图文件后,对svg矢量图文件进行矢量图解析及矢量图分割处理,得到若干子矢量图数据,将各子矢量图数据转换为对应的位图数据,并将位图数据转换为一维数组,对各一维数组进行数据转换处理,得到对应的第一传输数据串,再利用设定的帧头数据对各第一传输数据串进行数据封装后得到;
19、对接收的数据帧进行解析,得到对应的帧头数据和第一传输数据串;
20、将第一传输数据串转换为对应的十六进制数组,并根据帧头数据对各十六进制数组进行双fifo流水线数据并行处理,得到对应的处理后数组;
21、将处理后数组转换为对应的第二传输数据串反馈至上位机的通信接口,使得上位机接收第二传输数据串后,将第二传输数据串转换为处理后数组,并对处理后数组进行存储及输出展示。
22、在一个可能的设计中,当对接收的数据帧进行解析,未得到帧头数据时,所述方法还包括:
23、将对应数据帧返回上位机,并接收上位机通过通信接口重新传输的数据帧。
24、第三方面,本发明提供基于fpga加速的矢量图视觉处理系统,包括上位机和若干fpga处理器,所述上位机与各fpga处理器之间建立通信连接,所述上位机包括svg处理模块、数据转换模块、接口通信模块和存储展示模块,所述fpga处理器包括数据接收模块、数据发送模块和数据处理模块,其中:
25、svg处理模块,用于获取输入的svg矢量图文件,对svg矢量图文件进行矢量图解析,得到对应的矢量图数据及矢量图尺寸参数,并根据矢量图尺寸参数将矢量图数据分割为若干尺寸一致的子矢量图数据,将各子矢量图数据转换为对应的rgb三颜色通道数据,将rgb三颜色通道数据转换为一维数组;
26、数据转换模块,用于对各一维数组进行进制转换处理,得到对应的十六进制数组,并将各十六进制数组转换为对应的第一传输数据串,以及将第二传输数据串转换为处理后数组;
27、接口通信模块,用于利用设定的帧头数据对各第一传输数据串进行数据封装,得到对应的传输数据帧,将各数据帧发送至fpga处理器,以及接收fpga处理器反馈的第二传输数据串;
28、存储展示模块,用于对处理后数组进行存储及输出展示;
29、数据接收模块,用于接收上位机通过接口通信模块传输的数据帧;
30、数据发送模块,用于将第二传输数据串发送至上位机的接口通信模块;
31、数据处理模块,用于对接收的数据帧进行解析,得到对应的帧头数据和第一传输数据串,将第一传输数据串转换为对应的十六进制数组,并根据帧头数据对各十六进制数组进行双fifo流水线数据并行处理,得到对应的处理后数组,将处理后数组转换为对应的第二传输数据串。
32、在一个可能的设计中,所述接口通信模块包括串口收发单元、串口配置单元和数据编解码单元;所述串口收发单元用于利用设定的帧头数据对各第一传输数据串进行数据封装,得到对应的传输数据帧,将各数据帧发送至fpga处理器,以及接收fpga处理器反馈的第二传输数据串;所述串口配置单元用于对串口收发单元进行参数配置;所述数据编解码单元用于对串口收发单元发送的数据帧进行编码处理,以及对串口收发单元接收的第二传输数据串进行解码处理。
33、在一个可能的设计中,所述上位机还包括人机交互接口,所述人机交互接口用于用户与上位机之间的人机交互对接。
34、在一个可能的设计中,所述fpga处理器还包括显示控制模块,所述显示控制模块用于对处理后数组进行显示输出。
35、有益效果:本发明通过上位机对矢量图进行解析和分割,得到若干子矢量图,再将子矢量图转换为位图整型数据,将整型数据转换为数据串传输给fpga处理器,通过fpga的双fifo流水线数据运算及并行处理,加速图像处理过程,反馈最终的图像处理结果给上位机,由上位机对图像处理结果进行存储及输出展示,以实现快速、高效的矢量图视觉处理过程。本发明借助fpga的速度优势,将数字图像处理过程转移到fpga,从而利用fpga的双fifo流水线数据运算及并行处理的技术优势,极大地加速了视觉图像处理过程;且本发明系统可扩展支持多路fpga数据的同步处理,进一步提升系统处理效率;同时,本发明基于数据流为矢量图视觉硬件加速处理创建了一个完整的基础技术框架。
本文地址:https://www.jishuxx.com/zhuanli/20250110/355326.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。