本方法涉及图像处理,具体为一种提高海洋环境数据二维成像效率的方法。
背景技术:
1、桌面端绘制维海洋环境温度分布图、盐度分布图、密度分布图、深度分布图、海浪浪高分布图与海洋环境噪声声学频率谱图等二维海洋环境图像谱图时,由于数据量大、占用计算资源多,采用逐个渲染单个像素点方式绘制整个二维图像时,导出绘制、缩放与拖动卡顿,造成海洋环境数据二维成像效率比较低的问题。
技术实现思路
1、为解决上述技术问题,本发明提出了一种提高海洋环境数据二维成像效率的方法,通过在内存层面上处理图像数据,结合对数据进行重采样,降低处理数据量,采用多线程数据处理,从而达到提高海洋环境数据二维成像效率目的。
2、为实现上述目的,本发明采取的技术方案是:
3、一种提高海洋环境数据二维成像效率的方法,其特征在于:包括如下步骤:
4、步骤一:在主线程中,构建图像内存数组,初始化图像存储数据,以0x0000填充图像内存数组;
5、步骤二:在主线程中,建立图像对象,设置图像模式,图像模式设置为8-bit位图模式、32-bit rgb模式以及argb模式,然后图像对象绑定图像内存数组,绑定后操作图像内存数组以实现操作图像;
6、步骤三:在子线程中,初始化海洋环境数据,二维数据一维化,计算或设置二维数值数据的上阈值与下阈值;
7、步骤四:在子线程中,设置数据渐变色卡表,其中色表两端的颜色值分别对应二维数据的上阈值与下阈值;
8、步骤五:在子线程中,设置数据采样间隔,对海洋环境数据进行重采样;
9、步骤六:在子线程中,二维海洋环境数据映射到一维图像内存中,遍历二维海洋环境数据,计算该数据值占上下阈值区间比例值,通过该比例值与色卡表建立二维海洋环境数据与一维图像内存数据之间映射关系,计算对应图像像素颜色值,32-bit图像通过a、r、g、b值表现,8-bit图像通过灰度值表现;
10、步骤七:在子线程中,内存层面上渲染栅格数据,将颜色值写入图像内存;
11、步骤八:在主线程中,图像刷新,图像显示。
12、本发明提出的一种提高海洋环境数据二维成像效率的方法,通过设置采样间隔,对数据重采样,在不影响最终显示效果情况下,大幅度减少处理的数据量,提高数据处理效率,达到图像快速可视化效果。
13、通过在内存层面上处理图像数据,结合对数据进行重采样,降低处理数据量,多线程数据处理,达到提高海洋环境数据二维成像效率目的。
14、作为本发明的优选技术方案:
15、在渲染海表温度分布时,
16、在步骤三中,子线程中,初始海洋环境温度数据,对海洋环境温度二维数据一维化,设置二维数值数据的上阈值与下阈值,或者循环遍历每个数据值,计算二维栅格海洋环境温度数值数据中的最大温度值与最小温度值;
17、在步骤四中,子线程中,在渲染海表温度分布时,设置数据渐变色卡表,其中色表两端的颜色值分别对应海洋环境温度数据的最大温度值与最小温度值;
18、在步骤五中,子线程中,设置海洋环境温度数据采样间隔,根据采样间隔对海洋环境温度数值数据进行数据重采样;
19、在步骤六中,子线程中,二维海洋环境温度数据映射到一维图像内存中,遍历二维海洋环境温度数据数组,计算该温度数据值占上下阈值区间比例值,通过该比例值与色卡表建立二维海洋环境温度数据与一维图像内存数据之间映射关系,计算对应图像像素颜色值,32-bit图像通过a、r、g、b值表现;
20、在步骤七中:子线程中,内存层面上渲染栅格数据,将颜色值写入图像内存;
21、在步骤八中:主线程中,刷新海洋环境温度数据图像,海洋环境温度分布图显示。
22、对海洋一号卫星采集海洋环境海表温度数据进行处理,渲染海表温度分布图时,采用上述方法即可。
23、作为本发明的优选技术方案:
24、在渲染海浪浪高分布时,
25、在步骤三中,在子线程中,初始化海洋环境海浪数据,对海洋环境海浪数据二维数据一维化,设置二维数值数据的上阈值与下阈值,或者循环遍历每个数据值,计算二维栅格海洋环境海浪数据数值数据中的最大高度与最小高度,分别作为上阈值与下阈值;
26、在步骤四中,子线程中,设置数据渐变色卡表,其中色表两端的颜色值分别对应海洋环境海浪数据的最大高度与最小高度;
27、在步骤五中,子线程中,设置海洋环境海浪数据采样间隔,根据采样间隔对海洋环境海浪数据数值数据进行数据重采样;
28、在步骤六中,子线程中,二维海洋环境海浪数据映射到一维图像内存中,遍历二维海洋环境海浪数据数组,计算该温度数据值占上下阈值区间比例值,通过该比例值与色卡表建立二维海洋环境海浪数据与一维图像内存数据之间映射关系,计算对应图像像素颜色值,32-bit图像通过a、r、g、b值表现;
29、在步骤七中:子线程中,内存层面上渲染栅格数据,将颜色值写入图像内存;
30、在步骤八中:主线程中,刷新海洋环境海浪数据图像,海浪浪高分布图显示。
31、对海洋环境海浪数据处理,渲染海浪浪高分布图时,采用上述方法即可。
32、作为本发明的优选技术方案:
33、在渲染的海洋环境噪声声学频率谱时,
34、在步骤三中,在子线程中,初始化海洋环境噪声数据,对海洋环境噪声数据二维数据一维化,设置二维数值数据的上阈值与下阈值,或者循环遍历每个数据值,计算二维栅格海洋环境噪声数据数值数据中的最大工作声源级与最小工作声源级,分别作为上阈值与下阈值;
35、在步骤四中,子线程中,设置数据渐变色卡表,其中色表两端的颜色值分别对应海洋环境噪声数据的最大工作声源级与最小工作声源级;
36、在步骤五中,子线程中,设置海洋环境噪声数据采样间隔,根据采样间隔对海洋环境噪声数据数值数据进行数据重采样;
37、在步骤六中,子线程中,二维海洋环境噪声数据映射到一维图像内存中,遍历二维海洋环境噪声数据数组,计算该温度数据值占上下阈值区间比例值,通过该比例值与色卡表建立二维海洋环境噪声数据与一维图像内存数据之间映射关系,计算对应图像像素颜色值,32-bit图像通过a、r、g、b值表现;
38、在步骤七中:子线程中,内存层面上渲染栅格数据,将颜色值写入图像内存;
39、在步骤八中:主线程中,刷新海洋环境噪声数据图像,海洋环境噪声声学频率谱图显示。
40、对中低频声纳(低频(<1khz) 、中频(1~10khz) )采集的海洋环境噪声数据进行处理,渲染的海洋环境噪声声学频率谱图,采用上述方法即可。
41、作为本发明的优选技术方案:
42、在步骤五中,计算采样间隔公式为:
43、;
44、其中分别为列、行方向采样间隔,分别为二维数据行、列数,分别为图像宽度、高度,分别为遍历的图像宽度、高度,其中;
45、列、行方向采样位置点公式为:
46、;
47、其中分别为列、行方向采样位置点,
48、数据重采样后值为:
49、;
50、对公式 展开:
51、;
52、其中为采样前原始数值数据为为采样后数值数据为。
53、作为本发明的优选技术方案:
54、在步骤六中,计算二维海洋环境数据与一维图像内存数据之间映射关系:
55、色表索引计算公式为:
56、;
57、其中分别为数值数据阈值上限与阈值下限,为色表中颜色个数,为数值对应的色表索引值,图像颜色分量值计算公式为:
58、;
59、其中为色表二维数组 color,为32-bit图像颜色分量值,,对公式(6)展开,结合公式(5),得图像颜色分量值;
60、;
61、其中,对公式(7)展开:
62、。
63、作为本发明的优选技术方案:
64、在步骤七中,计算图像内存位置公式为:
65、;
66、将颜色分量值写入图像内存中:
67、为公式(8)计算的图像颜色分量值,分别为图像宽度、高度,分别为遍历的图像宽度、高度,其中为渲染的图像内存地址位置索引为图像内存。
68、与现有技术相比,本发明的有益效果为:
69、本发明通过设置采样间隔,对数据重采样,在不影响最终显示效果情况下,大幅度减少处理的数据量,提高数据处理效率,达到图像快速可视化效果。
70、本发明通过在内存层面上处理图像数据,结合对数据进行重采样,降低处理数据量,多线程数据处理,达到提高海洋环境数据二维成像效率目的。