基于Verilog语言的图像处理测试系统、方法及存储介质与流程

未命名 09-29 阅读:54 评论:0

基于verilog语言的图像处理测试系统、方法及存储介质
技术领域
1.本发明涉及信息技术领域,特别涉及一种基于verilog语言的图像处理测试系统、方法及存储介质。


背景技术:

2.现有技术常使用电脑上安装的图像处理软件完成图像数据处理,但该方法对图像数据及图像数据的处理项目均有所限制,不能解决大规模图像数据的处理问题。通过fpga使用verilog语言,可以解决大规模图像数据处理的限制问题,但是fpga的工程验证一般都需要很长时间的编译;此外,大部分的仿真验证系统也是观察数据变化,不能直观感受图像变化。
3.中国专利cn 111586259 b公开了图像仿真方法、图像计算机以及目标模拟器,其方法具体包括:图像计算机接收图像渲染所需的仿真数据,以及来自目标模拟器的图像渲染信号;所述图像计算机在所述图像渲染信号控制下将所述仿真数据转化为数字图像数据;所述图像计算机将所述数字图像数据传输至所述目标模拟器。该发明解决了图像仿真系统延时的问题。
4.中国专利cn 108596799 b公开了一种基于verilog的判题装置、方法及系统。其中,该方法可以对verilog答案信息进行自动判题,同时还能对仿真结果中的波形信息进行转换,从而将对波形信息的对比转换成其他形式的信息的对比,方便判题,可以减少教师的工作量。


技术实现要素:

5.本发明提出一种基于verilog语言的图像处理测试系统、方法及存储介质,可至少解决上述技术问题之一。
6.为实现上述目的,本发明提出了以下技术方案:一种基于verilog语言的图像处理测试系统,包括代码解析模块,接收待测试代码和接口代码;解析接口代码为接口数据;解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b;图像解析模块,接收待测试图像和解析要求;识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据;生成激励模块,接收像素数据、接口数据和待测试代码;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据;图像输出模块,接收输出要求、测试数据和格式数据,基于输出要求,转换测试数据为测试图像。
7.进一步地,还包括:ram模块,设置在图像解析模块和生成激励模块之间,接收像素数据和地址要求,用于存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;
基于地址信息,输出满足地址要求的新像素数据。
8.进一步地,所述解析接口代码为接口数据,包括:解析接口代码中头包的高度与宽度信息,生成对应的行索引和列索引信息,用于定位像素坐标。
9.进一步地,所述格式信息包括:图像格式、图像大小、图像位宽和图像色彩。
10.进一步地,所述将图像数据输入待测试代码,包括:基于图像数据的宽度和高度,计算图像数据的行有效和帧有效;基于图像数据的行有效和帧有效,将图像数据输入待测试代码中。
11.进一步地,所述转换测试数据为测试图像,包括:将测试数据解析为像素形式的数据,重新排列写入格式文件,增加包头信息,得到灰度测试图像。
12.进一步地,所述转换测试数据为测试图像,还包括:将测试数据解析为像素形式的数据,重新排列写入格式文件,增加包头信息和调色板数据,得到彩色测试图像。
13.另一方面,本发明还提出一种基于verilog语言的图像处理测试方法,包括:基于用户发送的待测试代码和接口代码,解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b;解析接口代码为接口数据;基于用户发送的待测试图像和解析要求,识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据;基于用户发送的输出要求,将测试数据转换为测试图像,发送至用户。
14.进一步地,所述解析像素信息为像素数据之后,还包括:存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足用户发送的地址要求的新像素数据。
15.再一方面,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种基于verilog语言的图像处理测试方法。
16.本发明的有益效果:本发明提出了一种基于verilog语言的图像处理测试系统、方法及存储介质,通过数据仿真的方式,解决了大规模图像处理的工作效率问题。同时,在传统的数据仿真中增加了图像转换,将常规数据流的仿真转换为图像仿真,实现了verilog代码处理图像结果的可视化。
附图说明
17.图1是本发明实施例1的结构示意图;图2是本发明实施例1中待测试图像;图3是本发明实施例1中测试图像;图4是本发明实施例2的结构示意图。
实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
19.如图1所示,本发明提出一种基于verilog语言的图像处理测试系统,包括:代码解析模块、图像解析模块、生成激励模块和图像输出模块。
20.代码解析模块,接收待测试代码和接口代码;解析接口代码为接口数据;解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b。其中,解析接口代码为接口数据,包括:解析接口代码中头包的高度与宽度信息,生成对应的行索引和列索引信息,用于定位像素坐标。
21.图像解析模块,接收待测试图像和解析要求;识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据。其中,格式信息包括图像格式、图像尺寸、图像位宽和图像色彩。
22.生成激励模块,接收像素数据;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据。
23.其中,将图像数据输入待测试代码,具体包括:基于图像数据的宽度和高度,计算图像数据的行有效和帧有效;基于图像数据的行有效和帧有效,将图像数据输入待测试代码中。
24.图像输出模块,接收输出要求、测试数据和格式数据,基于输出要求,转换测试数据为测试图像。
25.其中,灰度测试图像的转换过程为:将测试数据解析为像素形式的数据,重新排列写入格式文件,增加包头信息,得到灰度测试图像。
26.彩色测试图像的转换过程为:将测试数据解析为像素形式的数据,重新排列写入格式文件,增加包头信息和调色板数据,得到彩色测试图像。
27.此外,本系统还设置有ram模块,设置在图像解析模块和生成激励模块之间,接收像素数据和地址要求,用于存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足地址要求的新像素数据。
28.本系统所接收的待测试代码、接口代码、待测试图像、解析要求、输出要求及地址要求均由用户提供。本系统对待测试图像的图像处理结果(测试图像),也反馈至用户,由用户自行评判待测试代码对待测试图像的处理效果。
29.本发明还提出一种基于verilog语言的图像处理测试方法,包括:基于用户发送的待测试代码和接口代码,解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b;解析接口代码为接口数据;基于用户发送的待测试图像和解析要求,识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据;基于用户发送的输出要求,将测试数据转换为测试图像,发送至用户。
30.该方法中,在解析像素信息为像素数据之后,还包括:存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足用户发送的地址要求的新像素数据。
实施例1
31.本实施例中用户所提供的待测试图像参见图2;用户提供的待测试代码为图像均匀化的verilog语言。
32.代码解析模块,接收待测试代码和接口代码;解析接口代码为接口数据;解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b。其中,将接口代码解析为接口数据,具体包括:解析接口代码中头包的高度与宽度信息,生成对应的行索引和列索引信息,用于定位像素坐标,可以特定观察某个点的数据变化。
33.本实施例中,待测试代码中设定单次处理像素个数为16、像素位宽为8bit。
34.图像解析模块,用于接收用户提供的待测试图像和解析要求,识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据。其中,格式信息包括待测试图像的图像格式、图像大小、图像位宽和图像色彩。
35.图像有若干种格式(如tif、png、jpg等),每一种格式对应的数据格式都不一样。因此,图像解析模块首先识别用户提供的待测试图像的图像格式。图像解析模块还用于识别图像尺寸,明确待测试图像的大小。
36.同时数据也有灰度与彩色的区别,灰度图像没有调色板数据,彩色图像存在调色板数据。因此,图像解析还用于识别待测试图像的色彩信息,即区分待测试图像为灰度或彩色格式。
37.本实施例中,图像解析模块通过system verilog中的fread指令,识别待测试图像的格式、大小及色彩信息分别为:bmp格式;图像大小为4096
×
2000,像素位宽为8bit;色彩信息为灰度。并将待测试图像的格式信息解析为格式数据,并将格式数据输出至图像输出模块。
38.图像解析模块中,基于解析要求,解析像素信息为像素数据。本实施例,解析要求为解析待测试图像的所有像素信息,将待测试图像的像素信息解析为像素数据,输出至生成激励模块。
39.生成激励模块,接收像素数据、接口数据和待测试代码;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据。
40.本实施例中,待测试代码中设定了单次处理像素个数为16,设定像素位宽为8bit。将待测试图像的像素数据和接口数据,拼接成128bit的图像数据。
41.优选地,若待测试图像为彩色图像,则将待测试图像的像素数据和接口数据,按照rgb的顺序,分别打包为128bit的图像数据。
42.基于图像数据的高度和宽度,计算图像数据的行有效和帧有效;根据图像数据的行有效和帧有效,将图像数据输入待测试代码。运行待测试代码处理图像数据,对上述图像数据进行图像均匀化的处理,输出测试数据。
43.图像输出模块,接收输出要求、测试数据和格式数据,基于输出要求,转换测试数据为测试图像。本实施例的测试图像参见图3。
44.图像输出模块还用于接收输出要求,基于输出要求和格式数据,转换测试数据为测试图像,使得测试图像满足输出要求。
45.本实施例中,图像输出模块接收的输出要求为无,则参考格式数据,确定测试图像
的输出格式。
46.基于待测试图像的格式数据包括:图像格式为bmp、单次处理像素个数为16、像素位宽为8bit、色彩条件为灰度。在图像输出模块中,首先将128bit的测试数据解析成16个8bit的新测试数据,将新测试数据重新排列写到bmp文件里,同时加上包头信息,输出测试图像。输出的测试图像满足图像格式为bmp、单次处理像素个数为16、像素位宽为8bit、色彩条件为灰度。
47.本实施例中该系统所使用的方法,具体包括:基于用户发送的待测试代码和接口代码,解析待测试代码和接口代码,得到待测试代码中设定的测试条件和接口数据。所述测试条件包括单次处理像素个数、像素位宽、图像格式和色彩条件。解析接口代码,包括:解析接口代码中头包的高度与宽度信息,生成对应的行索引和列索引信息,用于定位像素坐标。
48.本实施例中,待测试代码中设定单次处理像素个数为16、像素位宽为8bit。
49.基于用户发送的待测试图像和解析要求,识别待测试图像的格式信息和像素信息,并解析格式信息为格式数据,基于解析要求,解析像素信息为像素数据。其中,格式信息包括待测试图像的图像格式、图像大小、图像位宽和图像色彩。
50.本实施例中,用户发送的待测试图像经识别,得到待测试图像的格式信息为,图像格式为bmp;图像大小为4096
×
2000,像素位宽为8bit;色彩信息为灰度。解析要求为解析待测试图像的所有像素信息,将待测试图像的像素信息解析为像素数据。
51.基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据。
52.本实施例中,待测试代码中设定了单次处理像素个数为16,设定像素位宽为8bit。将待测试图像的像素数据和接口数据,拼接成128bit的图像数据。基于图像数据的高度和宽度,计算图像数据的行有效和帧有效;根据图像数据的行有效和帧有效,将图像数据输入待测试代码。
53.将图像数据输入待测试代码,运行待测试代码处理图像数据,实现图像数据的均匀化处理,得到测试数据。
54.基于用户设定的输出要求,将测试数据转换为测试图像,发送至用户。
55.本实施例中,图像输出模块接收的输出要求为无,则参考格式数据,确定测试图像的输出格式。
56.本实施例中,格式数据中图像格式为bmp、图像大小为4096
×
2000、像素位宽为8bit、色彩条件为灰度。首先将128bit的测试数据解析成16个8bit的新测试数据,将新测试数据重新排列写到bmp文件里,同时加上包头信息,输出测试图像。输出的测试图像满足图像格式为bmp、单次处理像素个数为16、像素位宽为8bit、色彩条件为灰度,同时满足待测试代码和输出要求的设定。
57.将测试图像反馈至用户,由用户自行评判verilog代码对待测试图像的处理结果。
实施例2
58.如图4所示,本实施例在实施例1的基础上,增加ram模块,以提高待测试图像的处理效率。
59.ram模块,设置在图像解析模块和生成激励模块之间,接收像素数据和地址要求,用于存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足地址要求的新像素数据。
60.因为ram模块存储有待测试图像解析后的像素数据,在用户多次提出对待测试图像进行图像处理要求时,可以直接从ram模块中提取需要图像处理的像素数据。相较于实施例1,避免了因用户多次提出图像处理要求,图像解析模块多次解析待测试图像的情况,提高了待测试图像的处理效率。
61.本实施例中该系统所使用的方法,具体包括:基于用户发送的待测试代码和接口代码,解析待测试代码和接口代码,得到待测试代码中设定的测试条件和接口数据。所述测试条件包括单次处理像素个数、像素位宽、图像格式和色彩条件。解析接口代码,包括:解析接口代码中头包的高度与宽度信息,生成对应的行索引和列索引信息,用于定位像素坐标。
62.本实施例中,待测试代码中设定单次处理像素个数为16、像素位宽为8bit。
63.基于用户发送的待测试图像和解析要求,识别待测试图像的格式信息和像素信息,并解析格式信息为格式数据,基于解析要求,解析像素信息为像素数据。其中,格式信息包括待测试图像的图像格式、图像大小、图像位宽和图像色彩。
64.本实施例中,用户发送的待测试图像经识别,得到待测试图像的格式信息为,图像格式为bmp;图像大小为4096
×
2000,像素位宽为8bit;色彩信息为灰度。解析要求为解析待测试图像的所有像素信息,将待测试图像的像素信息解析为像素数据。
65.存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足用户发送的地址要求的新像素数据。
66.本实施例中,将待测试图像解析后的像素数据,进行存储管理。将存储的像素数据进行分段,并对每段像素数据设置对应的地址信息。基于用户发送的地址要求,查找地址信息,获得地址信息相对应的该段像素数据(新像素数据),并输出新像素数据,进行图像处理。
67.基于单次处理像素个数a和像素位宽b,打包新像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据。
68.本实施例中,待测试代码中设定了单次处理像素个数为16,设定像素位宽为8bit。将待测试图像的新像素数据和接口数据,拼接成128bit的图像数据。基于图像数据的高度和宽度,计算图像数据的行有效和帧有效;根据图像数据的行有效和帧有效,将图像数据输入待测试代码。运行待测试代码处理图像数据,实现图像数据的均匀化处理,得到测试数据。
69.基于用户设定的输出要求,将测试数据转换为测试图像,发送至用户。
70.本实施例中,图像输出模块接收的输出要求为无,则参考格式数据,确定测试图像的输出格式。
71.本实施例中,格式数据中图像格式为bmp、图像大小为4096
×
2000、像素位宽为8bit、色彩条件为灰度。首先将128bit的测试数据解析成16个8bit的新测试数据,将新测试数据重新排列写到bmp文件里,同时加上包头信息,输出测试图像。输出的测试图像满足图像格式为bmp、单次处理像素个数为16、像素位宽为8bit、色彩条件为灰度,同时满足待测试
代码和输出要求的设定。
72.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
73.本发明提出了一种基于verilog语言的图像处理测试系统、方法及存储介质,通过数据仿真的方式,解决了大规模图像处理的工作效率问题。同时,在传统的数据仿真中增加图像转换,将常规数据流的仿真转换为图像仿真,实现了verilog代码处理图像结果的可视化。
74.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
75.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种基于verilog语言的图像处理测试系统,其特征在于,包括:代码解析模块,接收待测试代码和接口代码;解析接口代码为接口数据;解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b;图像解析模块,接收待测试图像和解析要求;识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据;生成激励模块,接收像素数据、接口数据和待测试代码;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据;图像输出模块,接收输出要求、测试数据和格式数据,基于输出要求,转换测试数据为测试图像。2.根据权利要求1所述的基于verilog语言的图像处理测试系统,其特征在于,还包括:ram模块,设置在图像解析模块和生成激励模块之间,接收像素数据和地址要求,用于存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足地址要求的新像素数据。3.根据权利要求1所述的基于verilog语言的图像处理测试系统,其特征在于,所述解析接口代码为接口数据,包括:解析接口代码中头包的高度与宽度信息,生成对应的行索引和列索引信息,用于定位像素坐标。4.根据权利要求1所述的基于verilog语言的图像处理测试系统,其特征在于,所述格式信息包括:图像格式、图像大小、图像位宽和图像色彩。5.根据权利要求1所述的基于verilog语言的图像处理测试系统,其特征在于,所述将图像数据输入待测试代码,包括:基于图像数据的宽度和高度,计算图像数据的行有效和帧有效;基于图像数据的行有效和帧有效,将图像数据输入待测试代码中。6.根据权利要求1所述的基于verilog语言的图像处理测试系统,其特征在于,所述转换测试数据为测试图像,包括:将测试数据解析为像素形式的数据,重新排列写入格式文件,增加包头信息,得到灰度测试图像。7.根据权利要求1所述的基于verilog语言的图像处理测试系统,其特征在于,所述转换测试数据为测试图像,还包括:将测试数据解析为像素形式的数据,重新排列写入格式文件,增加包头信息和调色板数据,得到彩色测试图像。8.一种基于verilog语言的图像处理测试方法,其特征在于,包括:基于用户发送的待测试代码和接口代码,解析待测试代码,得到待测试代码中设定的单次处理像素个数a和像素位宽b;解析接口代码为接口数据;基于用户发送的待测试图像和解析要求,识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;基于解析要求,解析像素信息为像素数据;基于单次处理像素个数a和像素位宽b,打包像素数据和接口数据,生成像素位宽为a
×
b的图像数据;将图像数据输入待测试代码,运行待测试代码,得到测试数据;基于用户发送的输出要求,将测试数据转换为测试图像,发送至用户。9.根据权利要求8所述的一种基于verilog语言的图像处理测试方法,其特征在于,所述解析像素信息为像素数据之后,还包括:存储并分段管理像素数据,对各段像素数据设置有对应的地址信息;基于地址信息,输出满足用户发送的地址要求的新像素数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8或9任一所述的一种基于verilog语言的图像处理测试方法。

技术总结
本发明提出一种基于Verilog语言的图像处理测试系统、方法及存储介质。其中,该系统包括:代码解析模块,用于解析接口代码和待测试代码,得到接口数据、单次处理像素个数a和像素位宽b。图像解析模块,识别待测试图像的格式信息和像素信息;解析格式信息为格式数据;解析像素信息为像素数据。生成激励模块,生成像素位宽为a


技术研发人员:古涵 杨晨飞 曹桂平 董宁
受保护的技术使用者:合肥埃科光电科技股份有限公司
技术研发日:2023.07.03
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐