A radar echo video data vectorization processing method, system and device

Through scanning and processing and polygon splitting and splicing methods, radar echo video data is quickly processed and efficiently compressed, solving the problems of high delay and transmission costs of radar video data, real-time display and efficient transmission are achieved.

CN114089370BActive Publication Date: 2025-01-10HAIHUA ELECTRONICS ENTERPRISECHINA CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111359347.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-17
Publication Date
2025-01-10
Estimated Expiration
2041-11-17

AI Technical Summary

Technical Problem

The existing radar video data vectorization technology has delay problems, the data volume is large and the transmission cost is high, making it difficult to achieve real-time display and effective processing.

Method used

Using the method of scanning and processing, radar echo video data is binarized and polygon split and spliced, and transmitted through latitude and longitude to achieve rapid processing and efficient compression.

Benefits of technology

It effectively solves the problem of radar video data delay, realizes compression of more than 90% of the data volume, reduces the transmission cost of video data, and ensures real-time display effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114089370B_ABST
    Figure CN114089370B_ABST
Patent Text Reader

Abstract

The present invention discloses a radar echo video data vectorization processing method, system and equipment, the method comprising the following steps: calculating the video threshold, splitting and splicing the video data after binarization processing, searching for the data segment of each azimuth, storing the starting pixel and the ending pixel of the data segment, and the data segments in multiple consecutive azimuths constitute a polygon; performing data intersection judgment on the latest data segment of each polygon and the current azimuth data segment set, if there is an intersection, splicing the current azimuth data segment to the corresponding polygon, if there is no intersection, storing the current azimuth data segment to the completed polygon set; traversing the entire radar video azimuth data; performing contour analysis on the polygon, searching for the inflection point of each polygon; calculating the longitude and latitude of each inflection point of the polygon; transmitting and performing multi-radar video fusion in the longitude and latitude mode. The present invention reduces the amount of data and effectively solves the problem of delay in the existing radar image video vectorization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of radar video data processing, and in particular to a method, system and device for processing radar echo video data vectorization. Background Art

[0002] In the VTS ship traffic management system, radar echo video data is a very important part of the display system and also has the largest amount of data. The bandwidth occupied by the raw data of a single radar is about 5Mbyte / second. Generally, the VTS system is composed of multiple radars, ranging from one or two to more than 20. The cost of transmitting radar echo video data is very high, which has a great impact on the VTS system. Therefore, it is very important to vectorize the radar echo video data.

[0003] Radar video data contains useful data such as accurate ships, navigation marks, coastlines, etc., as well as clutter data such as waves, rain and snow. Radar video two-dimensional data refers to azimuth and distance data. Azimuth is 0 to 360 degrees, and distance is pixel points. For example, azimuth is 90 degrees and distance is 100. If the radar resolution is 5.4 meters, then this data point represents the echo intensity at a position of 100*5.4 meters in the 90-degree direction of the radar.

[0004] At present, domestic and foreign researchers and experts have conducted extensive research on the theory and methods of radar video vectorization. The main methods include: based on echo intensity processing, reducing the 256-order intensity to 16-order and 8-order intensity; based on the echo contour processing method, performing data layering processing on the radar image. Analyze the format of the collected radar image data, perform layered processing according to the grayscale value of the radar image data, study the edge detection method, select the Canny operator for edge detection and track the contour, and finally perform primitive fitting on the feature points to form multiple closed polygons. Most of the existing vectorization technologies need to be processed after the video data has been scanned once and the image has been formed. Generally, it takes 2.5 seconds for a radar to scan once, and there is a delay problem. Summary of the invention

[0005] In order to overcome the defects and shortcomings of the prior art, the present invention provides a method for processing radar echo video data vectorization. The present invention processes while scanning, effectively solving the problem of delay; at the same time, the amount of vectorized data in the present invention is very low, and the compression ratio is as high as more than 90%, which solves the problem of network transmission of a large amount of video data, and effectively and quickly processes data with video grayscale values ​​to reduce the amount of data.

[0006] The second object of the present invention is to provide a radar echo video data vectorization processing system;

[0007] A third object of the present invention is to provide a computing device.

[0008] In order to achieve the above object, the present invention adopts the following technical solutions:

[0009] The present invention provides a method for processing radar echo video data vectorization, comprising the following steps:

[0010] The video threshold is calculated based on radar filtering, and the two-dimensional video data is binarized;

[0011] The binarized data is split and spliced, the data segment of each direction is found, and the starting pixel and the ending pixel of the data segment are stored at the same time. The data segments in multiple consecutive directions form a polygon and are stored in an unfinished polygon set;

[0012] The latest data segment of each polygon in the unfinished polygon set is judged by the data intersection with the current orientation data segment set. If there is an intersection, the current orientation data segment is spliced ​​to the corresponding polygon. If there is no intersection, the current orientation data segment is stored in the completed polygon set.

[0013] Traverse the entire radar video azimuth data, and transfer and store the polygons in the unfinished polygon set to the completed polygon set;

[0014] Perform contour analysis on the polygons in the completed polygon set and find the inflection point of each polygon;

[0015] Based on the longitude and latitude of the radar installation location, calculate the longitude and latitude of each turning point of the polygon;

[0016] The two-dimensional video data is vectorized into multiple polygons and transmitted in the form of longitude and latitude for multi-radar video fusion.

[0017] As a preferred technical solution, when a new data segment is found in a traversal direction and there is no data at the corresponding position of the previous direction, it is determined that a new echo target appears, and the new data segment is stored in a new polygon in the unfinished polygon set;

[0018] When there is no data segment in the next direction, it is determined that the splicing is completed, and the data segment is stored in the polygon in the completed polygon set.

[0019] As a preferred technical solution, the data intersection judgment of the latest data segment of each polygon in the unfinished polygon set and the current orientation data segment set is performed, and the specific steps include:

[0020] When a single data segment in the current azimuth data segment set intersects with the latest data segments of each polygon in the unfinished polygon set, it is determined that the echo targets are continuous, and the current azimuth data segment is stored in the polygon in the unfinished polygon set.

[0021] As a preferred technical solution, the data intersection judgment of the latest data segment of each polygon in the unfinished polygon set and the current orientation data segment set is performed, and the specific steps include:

[0022] When multiple data segments in the front azimuth data segment set intersect with a single polygon, it is determined that the echo image is disconnected;

[0023] The data structure of the data segment stores a position sequence number variable, a start variable, a first end point variable, and a second end point variable;

[0024] The value of the first end point variable is the end pixel value of the data segment, and the initial value of the second end point variable is zero;

[0025] When the end pixel value of the end data segment in the current orientation data segment set is less than or equal to the end pixel value of the polygon data segment, the second end point variable value of the start data segment in the current orientation data segment set is modified to the value of the first end point variable of the end data segment, and the first end point variable value and the second end point variable value of the polygon data segment are modified to the value of the second end point variable of the end data segment in the current orientation data segment set and the value of the first end point variable of the polygon data segment, respectively;

[0026] When the end pixel value of the end data segment in the previous azimuth data segment set is greater than the end pixel value of the polygonal data segment, modify the second end point variable value of the start data segment in the current azimuth data segment set to the value of the first end point variable of the polygonal data segment;

[0027] After modifying the second end point variable of the starting data segment in the current orientation data segment set, the starting data segment is stored in the polygon, and the rest are stored as new polygons in the unfinished polygon set.

[0028] As a preferred technical solution, the data intersection judgment of the latest data segment of each polygon in the unfinished polygon set and the current orientation data segment set is performed, and the specific steps include:

[0029] When a single data segment in the front data segment set intersects with multiple polygons, it is determined to be echo image merging;

[0030] The data structure of the data segment stores a position sequence number variable, a start variable, a first end point variable, and a second end point variable;

[0031] The second end point variable value of the latest data segment of the first polygon is modified to the value of the first end point variable of the latest data segment of the first polygon, and the first end point variable value of the latest data segment of the first polygon is modified to the value of the first end point variable of a single data segment in the current orientation data segment set.

[0032] As a preferred technical solution, the specific steps of finding the inflection point of each polygon include:

[0033] When a polygon has one data segment, the polygon is discarded;

[0034] When a polygon has two data segments, the start and end pixel points of the two data segments are taken as inflection points;

[0035] When a polygon has more than two data segments, the starting pixel of the first data segment is stored in the inflection point set variable R on the left. l , the ending pixel is stored in the right turning point set variable R r , traverse the following data segment, calculate the slope of the starting pixel of the data segment, and if the slope changes, store it in the inflection point set variable R on the left l , calculate the end pixel of the data segment, if the slope changes, store it in the right inflection point set variable R r , until all data segments are traversed, connecting the two inflection point sets into a polygon.

[0036] As a preferred technical solution, the slope calculation method is:

[0037]

[0038] Among them, k represents the slope, y2 and y1 represent two adjacent positions, and x2 and x1 represent two adjacent directions.

[0039] As a preferred technical solution, the specific steps of finding the inflection point of each polygon include:

[0040] When a polygon has one data segment, the polygon is discarded;

[0041] When a polygon has two data segments, the start and end pixel points of the two data segments are taken as inflection points;

[0042] When a polygon has more than two data segments, the starting pixel of the first data segment is stored in the inflection point set variable R on the left. l , the ending pixel is stored in the right turning point set variable R r , traverse the following data segment, calculate the slope of the starting pixel of the data segment, if the slope changes or the second end point variable of the data segment is greater than zero, store it in the inflection point set variable R on the left l, calculate the end pixel of the data segment, if the slope changes or the second end point variable of the data segment is greater than zero, store it in the right inflection point set variable R r ,

[0043] If the second end point variable of the data segment is greater than zero, the first end point variable and the second end point variable of the current data segment are both stored in the inflection point set;

[0044] Until all data segments are traversed, the two inflection point sets are connected into a polygon.

[0045] In order to achieve the above second purpose, the present invention adopts the following technical solutions:

[0046] A radar echo video data vectorization processing system, comprising:

[0047] Video threshold calculation module, binarization processing module, splitting and splicing module, data traversal module, contour analysis module, longitude and latitude calculation module and output module;

[0048] The video threshold calculation module is used to calculate the video threshold based on radar filtering;

[0049] The binarization processing module is used to perform binarization processing on two-dimensional video data;

[0050] The splitting and splicing module is used to split and splice the binary processed data, find the data segment in each direction, and store the starting pixel and the ending pixel of the data segment. The data segments in multiple consecutive directions form a polygon and are stored in an unfinished polygon set.

[0051] The latest data segment of each polygon in the unfinished polygon set is judged by the data intersection with the current orientation data segment set. If there is an intersection, the current orientation data segment is spliced ​​to the corresponding polygon. If there is no intersection, the current orientation data segment is stored in the completed polygon set.

[0052] The data traversal module is used to traverse the entire radar video azimuth data, and transfer and store polygons in the unfinished polygon set to the completed polygon set;

[0053] The contour analysis module is used to perform contour analysis on the polygons in the completed polygon set and find the inflection point of each polygon;

[0054] The latitude and longitude calculation module is used to calculate the longitude and latitude of each inflection point of the polygon based on the longitude and latitude of the radar installation location;

[0055] The output module is used to vectorize the two-dimensional video data into multiple polygons, transmit them in a longitude and latitude manner, and perform multi-radar video fusion.

[0056] In order to achieve the third objective, the present invention adopts the following technical solutions:

[0057] A computing device comprises a processor and a memory for storing a program executable by the processor. When the processor executes the program stored in the memory, the above-mentioned radar echo video data vectorization processing method is implemented.

[0058] Compared with the prior art, the present invention has the following advantages and beneficial effects:

[0059] (1) The present invention processes data with video grayscale values ​​effectively and quickly to reduce the amount of data.

[0060] (2) The present invention adopts a scanning and calculating technical solution, which effectively solves the delay problem of existing radar image video vectorization and achieves a better real-time display effect.

[0061] (3) The present invention uses existing radar data for processing. While ensuring that the video is not distorted, the vectorized data compression rate is as high as over 90%, solving the problem of traditional radar video network transmission.

[0062] (4) The present invention sets the EndIndex2 parameter. If EndIndex2 is greater than 0, it means that the current point is the intersection point of multiple data segments and must be an inflection point. In this way, the current EndIndex and EndIndex2 are both stored in the inflection point set, thereby solving the spike problem that occurs in image restoration and drawing. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] Figure 1 A schematic flow chart of a method for processing radar echo video data vectorization according to the present invention;

[0064] Figure 2 It is a schematic diagram of two-dimensional data of radar echo video of the present invention;

[0065] Figure 3 This is a schematic diagram of data splicing logic scenario 1 (splicing completed) of the present invention;

[0066] Figure 4 This is a schematic diagram of the data splicing logic scene 2 (new polygon) of the present invention;

[0067] Figure 5 This is a schematic diagram of data splicing logic scenario three (1 to 1 splicing) of the present invention;

[0068] Figure 6 This is a schematic diagram of data splicing logic scenario 4 (many-to-1 splicing) of the present invention;

[0069] Figure 7This is a schematic diagram of data splicing logic scenario 5 (1-to-many splicing) of the present invention;

[0070] Figure 8 This is a schematic diagram of a logical scenario (two data) for calculating an inflection point according to the present invention;

[0071] Fig. 9 This is a schematic diagram of the second logical scenario (multiple data) for calculating the inflection point of the present invention;

[0072] Fig.10 This is the original video image of a radar with less clutter;

[0073] Fig.11 To use Fig.10 Vectorize the original video data and restore the video image;

[0074] Fig.12 This is the original video image of a certain radar with a lot of clutter;

[0075] Fig.13 To use Fig.12 Vectorize the original video data and restore the video image;

[0076] Fig.14 A schematic diagram of spikes that appear when the present invention uses inflection points to restore the drawing;

[0077] Fig.15 This is a schematic diagram of using EndIndex2 to solve the spike problem. DETAILED DESCRIPTION

[0078] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0079] Example 1

[0080] like Figure 1 As shown, this embodiment provides a radar echo video data vectorization processing method, which is suitable for the characteristics of radar video data scanning in azimuth, and can be calculated while scanning, and specifically includes the following steps:

[0081] S1: Calculate the video threshold using filtering technology and perform binarization on the two-dimensional video data;

[0082] S11: Calculate the video threshold λ based on radar filtering;

[0083] S12: Using the characteristic of radar scanning by azimuth, after the data in a certain azimuth is updated, the azimuth can be binarized. If the value of the data point is greater than the video threshold λ, the corresponding value is modified to 1, otherwise it is set to 0, such as Figure 2 As shown, after the traversal is completed, two-dimensional data is obtained. The radar in this embodiment has 2048 azimuths and 4096 data points;

[0084] S2: split and splice the binary data, traverse the two-dimensional video data, find the valid data segment in each direction, and splice it with the polygon in the previous direction;

[0085] Using the characteristics of the image, the valid data segments of each row always have an intersection with the previous row in columns. This embodiment uses this feature for subsequent splitting and splicing, traversing according to the orientation, analyzing the valid data segments at each orientation, and storing the start pixel and end pixel of the data segment.

[0086] S21: Find a valid data segment set at a certain direction and obtain a data segment set R, as shown in formula (1):

[0087] [(n 1s ,n 1e ),(n 2s ,n 2e )...,(n ms ,n me )](1)

[0088] The above formula represents multiple valid data segments in a certain direction. In the same direction, if two or more consecutive "1"s are at a distance from a pixel point, it is a valid data segment. (n 1s ,n 1e ) represents the nth position, the starting pixel "s" and the ending pixel "e" of the first data segment, (n ms ,n me ) represents the starting pixel "s" and the ending pixel "e" of the n-th position, the m-th data segment;

[0089] The data structure used in the data segment is:

[0090]

[0091] EndIndex2 is a variable that needs to be used when calculating the inflection point, which is used to solve the image spike problem. In the current step of finding the data segment, EndIndex2 is fixed to 0. In the subsequent scenes 4 and 5, it will be assigned a value according to the specific situation.

[0092] like Figure 3At the second position, there is only one data segment, where RowIndex is equal to 2, StartIndex is equal to 3, EndIndex is equal to 8, and EndIndex2 is equal to 0.

[0093] S22: According to the method of step S21, search for the first azimuth data segment set R1 of the entire radar video. Since the first azimuth is the starting position of the entire video image, the data segments are all polygon edges, and each data segment can be considered as the starting position of its own polygon. Store these data segments in the unfinished polygon set M 1 (i.e., there is still a data segment intersection at the next position of the polygon), as shown in formula (2).

[0094] M 1 =[p 1 ,p 2 ,...p n ](2)

[0095] Where P = [l 1 ,l 2 ,...,l n ](3)

[0096] Each polygon P is composed of data segments l in a plurality of consecutive directions.

[0097] S23: Also according to step S21, first find the data segment set R of the next direction n , and then traverse the set R n All the data segments are spliced ​​according to the following logic:

[0098] For the convenience of description, the following symbols are used:

[0099] l n : a data segment;

[0100] R n : A set of data segments at a certain location;

[0101] P n : a polygon;

[0102] M 1 : A set of polygons that have not been spliced. Each polygon in the set may be spliced ​​with the data segment of the next orientation, thus continuously extending;

[0103] M 2 : A collection of polygons that have completed stitching;

[0104] The overall stitching logic is: "unfinished polygon set M 1 Each polygon P nThe latest data segment" and the current position data segment set R n "To determine the data intersection, if there is an intersection, it is considered that the current polygon will continue to extend, and R n Data segment l in n Splice to the corresponding P n If there is no intersection, the current polygon is considered to have ended and stored in M 2 middle.

[0105] After analysis, the following scenarios may occur (these scenarios are possible situations after traversing to a certain location):

[0106] Scenario 1: "Mosaicing is completed", there is no data segment in the next position, and the data segment is stored in the completed polygon list;

[0107] In the figure, the rows represent the directions, and the columns represent the distances to the pixels. (The same representation method is used in the following scenes of this embodiment).

[0108] Traversal Figure 3 Position 1, no valid data segment, M 1 is empty;

[0109] Traversal Figure 3 Position 2 has a data segment (3,8), and the data is stored in P 1 , and P 1 Deposit M 1 ;

[0110] Traversal Figure 3 There is a data segment (5,7) at position 3, which is consistent with M 1 P 1 There is overlap, so store this data segment in P 1 ;

[0111] Traversal Figure 3 There is a data segment (5,7) at position 4, which is consistent with M 1 P 1 There is overlap, so store this data segment in P 1 , at this time P 1 =[(3,8),(5,7),(5,7)];

[0112] Traversal Figure 3 There is no valid data segment at position 5, so M 1 P 1 There is no overlap, so P 1 Move to the completed polygon set M 2 middle.

[0113] Scenario 1 is to traverse position 5 and deal with the situation that needs to be handled.

[0114] Scenario 2: "New polygon", such as Figure 4 As shown, when traversing to position 2, there is a new data segment, and there is no data at the corresponding position of the previous position, so this data segment is stored in P 1 , while P 1 Deposit in M 1 ;

[0115] For direction 1, there is no valid data between pixel 3 and pixel 8, but for the next direction 2, there is valid data between pixel 3 and pixel 8. This is the second scenario "there is a new data segment", indicating that a new echo target has appeared.

[0116] Scenario 3: "1 to 1 splicing", such as Figure 5 As shown, when traversing to position 3, there is an intersection with the data segment of position 2, and the data segment of position 3 is stored in polygon P 1 At this time, P 1 =[(3,8),(5,7)];

[0117] For direction 2, the valid data segment is from pixel 3 to pixel 8. For the next direction 3, there is an overlapping portion from pixel 5 to pixel 7. This is the third scenario “intersection of a single data segment”, indicating that the echo target is continuous.

[0118] Scenario 4: "Many-to-1 splicing", such as Figure 6 As shown, when traversing to position 3, two data segments are found, (2,4) and (7,9). At this time, M 1 There is a polygon P 1 , where P 1 The latest data segment of is (3,8). Both data segments of position 3 are consistent with polygon P 1 There is an intersection, which is the fourth scenario, indicating that the echo image is disconnected in the middle.

[0119] For example:------------P 1 (l 0 )-----------

[0120] ----l 1 --------l 2 ------l 3 ---

[0121] Description: Polygon P 1 The latest data segment 0 , (the "--" length in the example represents the length of the data segment), this example means l 0 With l 1 , l 2 , l 3 There is an intersection, l 2 In l0 The interior of 1 StartIndex is less than l 0 StartIndex, l 3 EndIndex is greater than l 0 The EndIndex of the string.

[0122] Processing logic: For data segment l 1 , modify l 1 The EndIndex2 field:

[0123]

[0124] If there is no 3 , then EndIndex2 is equal to data segment l 2 EndIndex, and modify l 0 , l 0 EndIndex2 is equal to l 0 EndIndex, l 0 The EndIndex is equal to l 2 EndIndex2; if there is l 3 , then EndIndex2 is equal to l 0 EndIndex, is there any l 3 The main difference is l 0 The EndIndex of the next data segment is different in size. The purpose of this modification is to extend l 1 EndIndex, and l 0 There are vertical points. 1 After that, l 1 Deposit P 1 ; For l 2 and l 3 , then it is regarded as the new polygon P 2 and P 3 , deposit into M 1 middle.

[0125] The source of the "spike" problem: When redrawing, multiple points are connected by straight lines. Therefore, when the rows and columns of two points are not repeated, a triangle will appear (reference Fig.14 These triangles eventually form spikes of varying sizes.

[0126] The principle of EndIndex2 is to add a new point perpendicular to EndIndex. When drawing, it is always drawn in a square manner to avoid triangular areas as much as possible.

[0127] Scenario 5: "One-to-many splicing", such as Figure 7 As shown, when traversing to position 5, a data segment l is found 1 (3,9), at this time M 1 There should be P 1 and P 2 , data segment l 1 There is an intersection with both polygons, which is the fifth scenario, indicating echo image merging.

[0128] Such as: ------P 1 (l 10 )-------------P 2 (l 20 )------

[0129] ------------l 1 ------------

[0130] Description: Polygon P 1 The latest data segment 10 , polygon P 2 The latest data segment 20 , (the "--" length in the example represents the length of the data segment), this example means l 1 With l 10 , l 20 There is an intersection, l 1 StartIndex is less than l 10 StartIndex, l 1 EndIndex is less than l 20 The EndIndex of the string.

[0131] Processing logic: For polygon p 1 , modify p 1 Data segment l 10 :l 10 EndIndex2 is equal to l 10 EndIndex, l 10 The EndIndex is equal to l 1 The purpose of this modification is to extend l 10 EndIndex, and l 1 EndIndex vertically, then l 1 Deposit p 1 In the polygon p 2 Then move to the completed set M 2 middle.

[0132] S24: According to the method of S23, the entire radar video azimuth data is traversed to obtain a complete polygon set M 2 and an unfinished polygon set M 1 Because the last position has been traversed, there will be no more data segments, so M 1 All polygons are moved to M 2 Finally, we can get a complete polygon set M 2 .

[0133] S3: Perform contour analysis on the polygons, process the polygons in the set one by one, and find the inflection point of each polygon.

[0134] The data structure of the inflection point is:

[0135]

[0136] The processing logic is as follows:

[0137] Scenario 1: Figure 8 As shown in the figure, if the polygon has only two data segments, the start and end pixels of the two data segments are regarded as four inflection points. If the polygon has only one data segment, a straight line cannot form a surface, so the polygon is discarded. This scene is generally clutter.

[0138] Scenario 2: Fig. 9 As shown, for the case of more than 2 data segments, first define the inflection point set variable R on the left l and the right inflection point set variable R r The starting pixel of the first data segment is stored in R l , the end pixel is stored in R r Traverse the following data segment and calculate the slope of the starting pixel of the data segment. If the slope changes, store it in R l Similarly, calculate the end pixel of the data segment. If the slope changes (or EndIndex2 is greater than 0), store it in R r . Until all data segments are traversed, the two inflection point sets are connected into a polygon.

[0139] The slope is calculated as:

[0140] (x is the direction and y is the position)

[0141] According to the above formula, to determine whether the slope has changed, it is necessary to determine the data segments of the previous direction, the current direction, and the next direction, a total of 3 directions. First, calculate the slope values ​​of the previous direction and the current direction. Figure 3For example, if the current determination is direction 3, the data segment is (5,7), determine whether pixels 5 and 7 are inflection points.

[0142] Calculate the slope of starting pixel 3 at position 3:

[0143] (the slope of the starting pixel of the previous orientation and the current orientation)

[0144] (the slope of the starting pixel of the current position and the next position)

[0145] k 2 ≠k 1 , the slope changes, so it is determined that the starting pixel of the current position 3 is the inflection point and stored in R l In collection.

[0146] Similarly, the slope of the end pixel 7 at position 3 can be calculated:

[0147] (The slope of the end pixel of the previous orientation and the current orientation)

[0148] (The slope of the end pixel of the current orientation and the next orientation)

[0149] k 3 ≠k 4 Therefore, it is determined that the end pixel of the current position 3 is also an inflection point and is stored in R r In collection.

[0150] Fig. 9 In the example, after traversing the polygon, R l The stored inflection points are {1,2,3,4}; R r The stored inflection points are {8,7,6,5}, R l Adopt order, R r The inflection points of the polygons are stored in reverse order. This splicing order is convenient for drawing when the VTS system performs video restoration.

[0151] How to deal with the "spike" problem: Spikes are caused by an irregular image that is artificially split into multiple polygons, resulting in some empty areas when the image is restored. Fig.14As shown. The original image, after the above process calculation, can get 6 inflection points. When the restoration drawing is performed, 6 closed lines are drawn. Therefore, a triangular area appears, forming a "spike". In order to solve this problem, this implementation case adopts the EndIndex2 parameter. The specific calculation method refers to scene 4 and scene 5 of step S23. If EndIndex2 is greater than 0, it means that the current point is the intersection point of multiple data segments, so it must be an inflection point. Then both the current EndIndex and EndIndex2 are stored in the inflection point set. Effect reference Fig.15 shown.

[0152] S4: Calculate the longitude and latitude of the polygon:

[0153] After obtaining the set of inflection points of the polygon, the longitude and latitude of each inflection point of the polygon are calculated using the longitude and latitude of the radar installation location.

[0154] Step 1: Calculate the angle α and distance γ of the inflection point relative to the radar based on the orientation and pixel of the inflection point.

[0155] in

[0156]

[0157]

[0158] Step 2: Use the WGS84 ellipsoid model geodetic formula to calculate and obtain the longitude and latitude of a certain inflection point;

[0159] The longitude and latitude of the target inflection point can be obtained by inputting the longitude and latitude of the radar installation location, the azimuth of the target inflection point (degrees), and the distance of the target inflection point (nautical miles).

[0160] Here is an example:

[0161] int locateOnRhumb(double lat0,double lon0,double brg,double dist,double*lat1,double*lon1)

[0162] *@param lat0: [input] latitude of radar installation location

[0163] *@param lon0: [input] longitude of radar installation location

[0164] *@param brg:

input

[0165] *@param dist: [input] target turning point distance (nautical miles)

[0166] *@param lat1: [Output] target turning point latitude

[0167] *@param lon1: [Output] Longitude of target turning point

[0168] Traverse all the inflection points of the polygon and use the above formula to obtain the longitude and latitude of each inflection point of the polygon.

[0169] S5: Multi-radar echo video merging: The processed video data is transmitted in the form of longitude and latitude, which facilitates VTS to perform multi-radar video fusion.

[0170] After the previous steps, the video vector of a single radar can be transformed into multiple polygons. The inflection point of each polygon is represented by longitude and latitude. When the VTS system draws the first radar video, it draws multiple inflection points at the corresponding longitude and latitude positions on the chart, and then forms a polygonal echo video. The same method can be used to draw the echo videos of multiple radars. Since the inflection points are represented by physical longitude and latitude, for the same target, the inflection point longitude and latitude converted by multiple radars are theoretically the same, so the problem of multi-radar video fusion can be effectively solved.

[0171] This embodiment processes radar video data based on 2048 directions and 4096 data points in each direction. The original data is 2048*4096 (Byte)=8388608 (Byte).

[0172] Case 1: Based on the original radar echo video (the echo video is clearer), such as Fig.10 As shown:

[0173] First, it is filtered and then vectorized, and finally 270 polygons are generated, with a total of 2804 inflection points. Since each inflection point consists of longitude and latitude, an inflection point requires 8 bytes of data to represent (4 bytes of longitude, 4 bytes of latitude). The data volume of the above echo video after vectorization is 2804*8=22432 (Byte), which is 22432 / 8388608=0.26% of the original data volume. The compression rate is as high as 99%. Fig.11 As shown, after restoration, the final restored image is formed.

[0174] Case 2: Based on a more complex radar echo video (more clutter), such as Fig.12 As shown;

[0175] After filtering and vectorization, 3731 polygons are formed, with a total of 35757 inflection points. The data volume is 35757*8=286056 (Byte), which is 286056 / 4194304 of the original data, equal to 3.4%.

[0176] like Fig.13 As shown, after restoration, the final restored image is formed.

[0177] In summary, the radar echo video data vectorization processing method of the present invention has a good effect on data compression.

[0178] Example 2

[0179] This embodiment provides a radar echo video data vectorization processing system, including:

[0180] Video threshold calculation module, binarization processing module, splitting and splicing module, data traversal module, contour analysis module, longitude and latitude calculation module and output module;

[0181] In this embodiment, the video threshold calculation module is used to calculate the video threshold based on radar filtering;

[0182] In this embodiment, the binarization processing module is used to perform binarization processing on two-dimensional video data;

[0183] In this embodiment, the splitting and splicing module is used to split and splice the binary processed data, find the data segment in each direction, and store the starting pixel and the ending pixel of the data segment. The data segments in multiple consecutive directions form a polygon and are stored in the unfinished polygon set.

[0184] The latest data segment of each polygon in the unfinished polygon set is judged by the data intersection with the current orientation data segment set. If there is an intersection, the current orientation data segment is spliced ​​to the corresponding polygon. If there is no intersection, the current orientation data segment is stored in the completed polygon set.

[0185] In this embodiment, the data traversal module is used to traverse the entire radar video azimuth data, and transfer and store polygons in the unfinished polygon set to the completed polygon set;

[0186] In this embodiment, the contour analysis module is used to perform contour analysis on the polygons in the completed polygon set to find the inflection point of each polygon;

[0187] In this embodiment, the longitude and latitude calculation module is used to calculate the longitude and latitude of each inflection point of the polygon based on the longitude and latitude of the radar installation location;

[0188] In this embodiment, the output module is used to vectorize the two-dimensional video data into multiple polygons, transmit them in a longitude and latitude manner, and perform multi-radar video fusion.

[0189] Example 3

[0190] This embodiment provides a computing device, which can be a desktop computer, a laptop computer, a smart phone, a PDA handheld terminal, a tablet computer or other terminal device with a display function. The computing device includes a processor and a memory, and the memory stores one or more programs. When the processor executes the program stored in the memory, the radar echo video data vectorization processing method of embodiment 1 is implemented.

[0191] The above embodiments are preferred implementation modes of the present invention, but the implementation modes of the present invention are not limited to the above embodiments. Any other changes, modifications, substitutions, combinations, and simplifications that do not deviate from the spirit and principles of the present invention should be equivalent replacement methods and are included in the protection scope of the present invention.

Claims

1. A method for processing radar echo video data vectorization, characterized in that: The steps include: The video threshold is calculated based on radar filtering, and the two-dimensional video data is binarized; The binarized data is split and spliced, the data segment of each direction is found, and the starting pixel and the ending pixel of the data segment are stored at the same time. The data segments in multiple consecutive directions form a polygon and are stored in an unfinished polygon set; The latest data segment of each polygon in the unfinished polygon set is judged by the data intersection with the current orientation data segment set. If there is an intersection, the current orientation data segment is spliced ​​to the corresponding polygon. If there is no intersection, the current orientation data segment is stored in the completed polygon set. Traverse the entire radar video azimuth data, and transfer and store the polygons in the unfinished polygon set to the completed polygon set; Perform contour analysis on the polygons in the completed polygon set and find the inflection point of each polygon; Based on the longitude and latitude of the radar installation location, calculate the longitude and latitude of each turning point of the polygon; The two-dimensional video data is vectorized into multiple polygons and transmitted in the form of longitude and latitude for multi-radar video fusion.

2. The radar echo video data vectorization processing method according to claim 1 is characterized in that: When a new data segment is found in the traversal direction and there is no data at the corresponding position of the previous direction, it is determined that a new echo target appears, and the new data segment is stored in a new polygon in the unfinished polygon set; When there is no data segment in the next direction, it is determined that the splicing is completed, and the data segment is stored in the polygon in the completed polygon set.

3. The method for processing radar echo video data vectorization according to claim 1, characterized in that: The specific steps of performing data intersection judgment on the latest data segment of each polygon in the unfinished polygon set and the current orientation data segment set include: When a single data segment in the current azimuth data segment set intersects with the latest data segments of each polygon in the unfinished polygon set, it is determined that the echo targets are continuous, and the current azimuth data segment is stored in the polygon in the unfinished polygon set.

4. The method for processing radar echo video data vectorization according to claim 1, characterized in that: The specific steps of performing data intersection judgment on the latest data segment of each polygon in the unfinished polygon set and the current orientation data segment set include: When multiple data segments in the front azimuth data segment set intersect with a single polygon, it is determined that the echo image is disconnected; The data structure of the data segment stores a position sequence number variable, a start variable, a first end point variable, and a second end point variable; The value of the first end point variable is the end pixel value of the data segment, and the initial value of the second end point variable is zero; When the end pixel value of the end data segment in the current orientation data segment set is less than or equal to the end pixel value of the polygon data segment, the second end point variable value of the start data segment in the current orientation data segment set is modified to the value of the first end point variable of the end data segment, and the first end point variable value and the second end point variable value of the polygon data segment are modified to the value of the second end point variable of the end data segment in the current orientation data segment set and the value of the first end point variable of the polygon data segment, respectively; When the end pixel value of the end data segment in the previous azimuth data segment set is greater than the end pixel value of the polygonal data segment, modify the second end point variable value of the start data segment in the current azimuth data segment set to the value of the first end point variable of the polygonal data segment; After modifying the second end point variable of the starting data segment in the current orientation data segment set, the starting data segment is stored in the polygon, and the rest are stored as new polygons in the unfinished polygon set.

5. The method for processing radar echo video data vectorization according to claim 1, characterized in that: The specific steps of performing data intersection judgment on the latest data segment of each polygon in the unfinished polygon set and the current orientation data segment set include: When a single data segment in the front data segment set intersects with multiple polygons, it is determined to be echo image merging; The data structure of the data segment stores a position sequence number variable, a start variable, a first end point variable, and a second end point variable; The second end point variable value of the latest data segment of the first polygon is modified to the value of the first end point variable of the latest data segment of the first polygon, and the first end point variable value of the latest data segment of the first polygon is modified to the value of the first end point variable of a single data segment in the current orientation data segment set.

6. The method for processing radar echo video data vectorization according to claim 1, characterized in that: The specific steps of finding the inflection point of each polygon include: When a polygon has one data segment, the polygon is discarded; When a polygon has two data segments, the start and end pixel points of the two data segments are taken as inflection points; When a polygon has more than two data segments, the starting pixel of the first data segment is stored in the inflection point set variable R on the left. l , the ending pixel is stored in the right turning point set variable R r , traverse the following data segment, calculate the slope of the starting pixel of the data segment, and if the slope changes, store it in the inflection point set variable R on the left l , calculate the end pixel of the data segment, if the slope changes, store it in the right inflection point set variable R r , until all data segments are traversed, connecting the two inflection point sets into a polygon.

7. The method for processing radar echo video data vectorization according to claim 6, characterized in that: The slope is calculated as follows: Among them, k represents the slope, y2 and y1 represent two adjacent positions, and x2 and x1 represent two adjacent directions.

8. The method for processing radar echo video data vectorization according to any one of claims 4 to 5, characterized in that: The specific steps of finding the inflection point of each polygon include: When a polygon has one data segment, the polygon is discarded; When a polygon has two data segments, the start and end pixel points of the two data segments are taken as inflection points; When a polygon has more than two data segments, the starting pixel of the first data segment is stored in the inflection point set variable R on the left. l , the ending pixel is stored in the right turning point set variable R r , traverse the following data segment, calculate the slope of the starting pixel of the data segment, if the slope changes or the second end point variable of the data segment is greater than zero, store it in the inflection point set variable R on the left l , calculate the end pixel of the data segment, if the slope changes or the second end point variable of the data segment is greater than zero, store it in the right inflection point set variable R r , If the second end point variable of the data segment is greater than zero, the first end point variable and the second end point variable of the current data segment are both stored in the inflection point set; Until all data segments are traversed, the two inflection point sets are connected into a polygon.

9. A radar echo video data vectorization processing system, characterized in that: include: Video threshold calculation module, binarization processing module, splitting and splicing module, data traversal module, contour analysis module, longitude and latitude calculation module and output module; The video threshold calculation module is used to calculate the video threshold based on radar filtering; The binarization processing module is used to perform binarization processing on two-dimensional video data; The splitting and splicing module is used to split and splice the binary processed data, find the data segment in each direction, and store the starting pixel and the ending pixel of the data segment. The data segments in multiple consecutive directions form a polygon and are stored in an unfinished polygon set. The latest data segment of each polygon in the unfinished polygon set is judged by the data intersection with the current orientation data segment set. If there is an intersection, the current orientation data segment is spliced ​​to the corresponding polygon. If there is no intersection, the current orientation data segment is stored in the completed polygon set. The data traversal module is used to traverse the entire radar video azimuth data, and transfer and store polygons in the unfinished polygon set to the completed polygon set; The contour analysis module is used to perform contour analysis on the polygons in the completed polygon set and find the inflection point of each polygon; The latitude and longitude calculation module is used to calculate the longitude and latitude of each inflection point of the polygon based on the longitude and latitude of the radar installation location; The output module is used to vectorize the two-dimensional video data into multiple polygons, transmit them in a longitude and latitude manner, and perform multi-radar video fusion.

10. A computing device comprising a processor and a memory for storing a program executable by the processor, characterized in that: When the processor executes the program stored in the memory, the radar echo video data vectorization processing method as described in any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Multi-radar station radar video rendering method based on stepless zooming of GPU

    CN105954726A

  • Self-adaptive dual-radar video splicing method

    CN106131455A