Pointer type dial reading method

Through object detection and OCR model identification of scale lines and numbers, combined with pointer segmentation model, the problem of ambient light and pointer aging in water meter readings is solved, achieving higher reading stability and accuracy.

CN120496045APending Publication Date: 2025-08-15NINGBO UNIV +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510537567.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-27
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

In the prior art, the detection of the water meter sub-dial is greatly affected by changes in ambient light, and the aging of the pointer leads to offset the calculation center result, and the aging or obstruction of the pointer leads to offset the pointing angle.

Method used

The target detection model is used to locate the scale lines, the OCR character recognition model recognizes numbers, the pointer segments the model divides the pointer, the center of the circle is calculated using the tick line coordinates, the pointer tip contour straight line calculates the pointer angle, and the pointer segmentation and the Paddleseg model are combined for character recognition.

Benefits of technology

Improve the stability and accuracy of dial readings, calculate the center of the circle through the coordinates of the scale line, accurately determine the pointer pointing angle, and reduce the impact of ambient light changes and pointer aging.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120496045A_ABST
    Figure CN120496045A_ABST
Patent Text Reader

Abstract

The invention discloses a pointer type dial reading method, and relates to the technical field of dial reading, and the method comprises the following steps: target detection and character recognition model training: selecting dial pictures as a training set, marking the selected dial pictures, and respectively marking a scale line part for detection training and a number part for character recognition training; matching the scale marks with the corresponding numbers; reasoning and calculating a circle center coordinate by using the detected scale line coordinate; marking and training a dial pointer segmentation model, and segmenting a pointer; the points on the two sides of the needle point of the pointer are obtained through segmentation, and two straight lines forming the two side edges of the needle point are obtained through reasoning calculation; calculating an intersection point of the two straight lines to obtain a needle point coordinate point; the vector direction of the circle center pointing to the needle point coordinate point is pointer pointing; and calculating an included angle formed by the pointer pointing and the 0-character scale line, and reasoning and calculating to obtain a pointer pointing reading.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of dial reading, in particular to a pointer-type dial reading method. Background Art

[0002] Dial readings are generally done using machine vision, which has the following drawbacks:

[0003] 1. The water meter sub-dial detection is greatly affected by changes in ambient light;

[0004] 2. The pointer ages and its color degrades, causing the circular part of the pointer detection shape result to be deformed, resulting in an offset in the calculated center result;

[0005] 3. The pointer tip ages, its color degrades, or it is obscured by water bubbles. This causes the tip to be missing from the pointer detection shape result, resulting in an offset in the pointing angle calculated by calculating the distance from the center of the circle to the farthest point of the pointer outline.

[0006] Therefore, in view of this, the existing structure and defects are studied and improved, and a pointer dial reading method is proposed. Summary of the Invention

[0007] The object of the present invention is to provide a pointer-type dial reading method to solve the problems raised in the above background technology.

[0008] To achieve the above object, the present invention provides the following technical solution: a method for reading a pointer dial, the steps of which are as follows:

[0009] Object detection and character recognition model training:

[0010] Select dial images as training sets, annotate the selected dial images, and mark the scale lines for detection and the numbers for character recognition;

[0011] Perform data augmentation on the watch face images in the training set to obtain more watch face images in greater numbers and types.

[0012] The PicoDet model is used as the baseline architecture and trained on a specific scale training set;

[0013] The numbers match the center points of the tick marks:

[0014] Match the numbers and tick marks so that the center points of the tick mark rectangles and the number labels are reintegrated into a new array;

[0015] Input the image to be tested into the scale mark target detection model and the character recognition model respectively, and output the scale mark and digital detection frame in the image to be tested;

[0016] The scale line detection frame data is obtained through the target detection model, including the coordinates of the upper left corner of the rectangular frame: x p ,y p and the height and width of the rectangular frame: height line 、weight line ;

[0017] The digital recognition frame data is obtained through the character recognition model, including the coordinates of the four vertices of the rectangular frame, and the coordinates of the upper left corner are taken out: (x pl ,y pl ) and the lower right corner coordinates: (x pr 、y pr ). Thus, the center point of the digital rectangular frame is obtained;

[0018] Each number (num i i∈[0,9]) is the target, and the center points of the scale lines are traversed. The center point distance is:

[0019]

[0020] Find the minimum center point distance, take out the x-coordinate and y-coordinate corresponding to the minimum distance, and get the array (num i ,x linej ,y linej ), the array is the matching result;

[0021] Calculation of circle center coordinates:

[0022] Obtain the center point coordinates of the digital rectangular frame from the dial reading (x i ,y i ), the equation of the circle can be written as

[0023] x 2 +y 2 +Ax+By+C=0;

[0024] Find a set of parameters A, B, C that minimizes the error function, and take the partial derivatives of A, B, C to make them 0

[0025]

[0026] Solve the equations to get A, B, C, and calculate the coordinates of the center of the circle (x circle ,y circle ) and radius r

[0027]

[0028] Identify pointer pointing to:

[0029] Select dial images as training sets; label the pointers in the images;

[0030] Paddleseg is selected as the framework for deep semantic segmentation. It is trained on the original image and annotated image training set to obtain the pointer recognition model.

[0031] The target image to be segmented is put into the pointer recognition model for testing, and an image with only the segmented pointer and background colors is obtained;

[0032] The image obtained in the previous step is grayscaled and then binarized. The binarization operation divides the image pixels into two categories based on a threshold T, simplifying the image into a binary image containing only foreground values 255 and background values 0;

[0033] In the binary image, scan line by line starting from pixel (0, 0). Find the pixel that satisfies the foreground pixel value of 255 and whose 3*3 neighborhood contains background pixel 0, and select it as the starting point (i, j) for contour tracing.

[0034] Using the starting point (i, j) as the basis, trace the remaining contour points. The boundary points to be traced are regressed to the starting point (i, j), thus determining a closed contour. Extract the points on this closed contour to form a set of edge point coordinates.

[0035] For each edge point coordinate group, based on the discrete form of Green's formula, the number of elements in the corresponding area is calculated to determine the area S;

[0036] Compare the areas S of all edge point coordinate groups. Filter out the one with the largest area S MAX The edge point coordinate group is determined to be the edge point coordinate group of the pointer;

[0037] Read the center of the fitted circle (x circle ,y circle ) as the center coordinate of the circle, and by iteratively traversing each coordinate element in the edge point coordinate group, the maximum value d is obtained by using the Euclidean distance formula. max The coordinate group corresponding to the distance;

[0038] By iterating through each point in the coordinate set, find the point whose distance is within the range of 60% to 90% of the distance between the center of the circle and the farthest point. Let the lower limit of the distance range be D min , upper limit D max but:

[0039] D min =0.6×D max ;

[0040] D max =0.9×D max ;

[0041] For each point (x i ,yi ) Determine whether the distance to the center of the circle meets the upper and lower limits, and select the required coordinates;

[0042] Traverse the filtered coordinate group and calculate the slope of the straight line connecting the points in the coordinate group and the center of the circle

[0043]

[0044] The slope k of the line connecting the farthest point and the center of the circle d_max Compare and filter out the ones that meet the conditions k i <k d_max For coordinate groups 1 and k i >k d_max is coordinate group 2;

[0045] Calculate the distance from each point in the divided coordinate group 1 to the fitting line, remove some points with large distances, and calculate the fitting line; the same applies to group 2;

[0046] Solve the intersection coordinates by combining the equations of the two lines and get the target coordinate value (x np ,y np ) is the point the pointer points to.

[0047] Further, the angle of the dial pointer is calculated: get the center of the dial and the pointer tip, take out the coordinates of the number "0" obtained in the above steps, and calculate the pointer angle with the three-point coordinates

[0048] In angle calculation, first calculate the digital coordinates (x nump ,y nump )、Needle tip(x np ,y np ) and the center (x circle ,y circle ) between .

[0049] Next, we calculate the inverse tangent of the vector, which is the angle of the vector in radians. We then determine the correct quadrant of the vector by considering the signs of y and x, and adjust the angle accordingly.

[0050] Furthermore, after obtaining the angles calculated by all the numbers, remove the values with large errors, calculate the sum of the differences between each point and the rest of the points, find the minimum value of the difference, and obtain the angle angle_diff corresponding to the minimum difference. i , which is the required angle of the dial pointer.

[0051] Furthermore, a truth table is established based on the correspondence between the water meter scale line angle and the number. The pointer pointing angle calculated in the above steps is used to query the matching number.

[0052] Furthermore, the type of the dial image includes image color, image size, and image direction.

[0053] Furthermore, the PaddleOCR model is used as the benchmark architecture to train the character recognition model, the PicoDet model is trained to obtain the scale line detection model, and the OCR model can obtain the dial number recognition model.

[0054] The present invention provides a pointer-type dial reading method, which has the following beneficial effects:

[0055] 1. The present invention locates scale lines through the target detection model, recognizes numbers through the OCR character positioning and recognition model, and segments the pointer through the pointer segmentation model, thereby improving stability.

[0056] 2. The present invention uses the scale line coordinates to infer and calculate the coordinates of the center of the circle surrounded by the scale lines, replacing the pointer center coordinates, thereby improving the accuracy of the center of the circle.

[0057] 3. Use the straight lines on both sides of the pointer tip outline to infer and calculate the correct needle tip point position, thereby improving the calculation accuracy of the pointer pointing angle. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 This is a scale line detection and annotation diagram for a pointer-type dial reading method of the present invention;

[0059] Figure 2 A digital identification diagram of a pointer dial reading method according to the present invention;

[0060] Figure 3 This is a scale line detection reasoning diagram for a pointer-type dial reading method of the present invention;

[0061] Figure 4 A digital recognition reasoning diagram for a pointer-type dial reading method of the present invention;

[0062] Figure 5 This is a target image of a pointer dial reading method of the present invention;

[0063] Figure 6 The circle is fitted by a pointer dial reading method of the present invention;

[0064] Figure 7 This is a labeled picture of a pointer dial reading method of the present invention;

[0065] Figure 8 A target image of a pointer dial reading method according to the present invention;

[0066] Figure 9 This is a segmented image of a pointer dial reading method according to the present invention;

[0067] Figure 10 A grayscale diagram of a pointer dial reading method of the present invention;

[0068] Figure 11 A binary diagram of a pointer-type dial reading method of the present invention;

[0069] Figure 12 An edge coordinate group of a pointer dial reading method according to the present invention;

[0070] Figure 13 This is a screened diagram of a pointer dial reading method of the present invention;

[0071] Figure 14 A pointer-type dial reading method of the present invention is used to divide the coordinate groups on both sides of the pointer;

[0072] Figure 15 It is a straight line fitting diagram on both sides of a pointer dial reading method of the present invention;

[0073] Figure 16 This is a comparison diagram of the straight line fitting on both sides of a pointer dial reading method of the present invention;

[0074] Figure 17 A comparative physical diagram showing the improved accuracy of a pointer-type dial reading method according to the present invention. DETAILED DESCRIPTION

[0075] The following embodiments of the present invention are described in further detail with reference to the accompanying drawings and examples. The following examples are used to illustrate the present invention but are not intended to limit the scope of the present invention.

[0076] like Figures 1 to 17 As shown, a method for reading a pointer dial, the steps are as follows:

[0077] Object detection and character recognition model training:

[0078] Select a certain number of dial images as a training set; annotate the selected dial images, marking the scale line part for detection and the digital part for character recognition;

[0079] Perform data augmentation on the watch face images in the training set to obtain a larger number and more types of watch face images; the types include image color, image size, and image orientation;

[0080] The PicoDet model is used as the baseline architecture and trained on a specific scale line training set. The training process aims to enable the PicoDet model to accurately identify and locate the scale line features in the training set, thereby achieving accurate detection of scale lines. The PaddleOCR model is also used as the baseline architecture to train the character recognition model;

[0081] The PicoDet model is trained to obtain the scale line detection model, and the OCR model can obtain the dial number recognition model.

[0082] The numbers match the center points of the tick marks:

[0083] The center point error of the number rectangle is large, and the scale mark rectangle is not recognizable. In this case, the numbers and scale marks are matched so that the center points of the scale mark rectangles and the number labels are reintegrated into a new array.

[0084] Input the image to be tested into the scale mark target detection model and the character recognition model respectively, and output the scale mark and digital detection frame in the image to be tested;

[0085] The scale line detection frame data is obtained through the target detection model, including the coordinates of the upper left corner of the rectangular frame: x p ,y p and the height and width of the rectangular frame: height line 、weight line . Thus we get the center point of the scale frame

[0086] x line =x p +weight line / 2;y line =y p +height line / 2

[0087] The digital recognition frame data is obtained through the character recognition model, including the coordinates of the four vertices of the rectangular frame, and the coordinates of the upper left corner are taken out: (x pl ,y pl ) and the lower right corner coordinates: (x pr 、y pr ). Thus we get the center point of the digital rectangle

[0088]

[0089] Each number (num i i∈[0,9]) is the center point of the target, and the center points of the scale lines are traversed.

[0090] The center point distance is:

[0091]

[0092] Find the minimum center point distance, take out the x-coordinate and y-coordinate corresponding to the minimum distance, and get the array (num i ,x linej ,y linej), the array is the matching result. At this point, the numbers and the scale mark rectangle are matched, and the numbers in the array are used in subsequent calculations.

[0093] Calculation of circle center coordinates:

[0094] Obtain the center point coordinates of the digital rectangular frame from the dial reading (x i ,y i ), the equation of the circle can be written as

[0095] x 2 +y 2 +Ax+By+C=0

[0096] Find a set of parameters A, B, C so that the error function

[0097]

[0098] Minimum, find the partial derivative of A, B, C to make it 0

[0099]

[0100] Solve the equations to get A, B, C, and calculate the coordinates of the center of the circle (x circle ,y circle ) and radius r

[0101]

[0102] Identify pointer pointing to:

[0103] Select a certain number of dial images as training sets; label the pointers in the images;

[0104] Paddleseg is selected as the framework for deep semantic segmentation. It is trained on the original image and annotated image training set to obtain the pointer recognition model.

[0105] The target image to be segmented is put into the pointer recognition model for testing, and an image with only the segmented pointer and background colors is obtained;

[0106] The image obtained in the previous step is grayscaled and then binarized. The binarization operation divides the image pixels into two categories according to a threshold T, thus simplifying the image into a binary image containing only the foreground value of 255 and the background value of 0;

[0107] In the binary image, scan line by line starting from pixel (0, 0). Find the pixel that satisfies the foreground pixel value of 255 and whose 3*3 neighborhood contains background pixel 0, and select it as the starting point (i, j) for contour tracing.

[0108] Using the starting point (i, j) as the basis, trace the remaining contour points. Once the traced boundary points are regressed to the starting point (i, j), a closed contour is determined. Extract the points on this closed contour to form a set of edge point coordinates.

[0109] For each edge point coordinate group, based on the discrete form of Green's formula, the number of elements in the corresponding region is calculated to determine the region area S.

[0110]

[0111] Compare the areas S of all edge point coordinate groups. Filter out the one with the largest area S MAX The edge point coordinate group is determined to be the edge point coordinate group of the pointer.

[0112] Read the center of the fitted circle (x circle ,y circle ) as the center coordinate of the circle, and by iteratively traversing each coordinate element in the edge point coordinate group, the maximum value d is obtained by using the Euclidean distance formula. max The coordinate group corresponding to the distance

[0113]

[0114] Next, we iterate through each point in the coordinate set and find the point whose distance is between 60% and 90% of the distance between the center of the circle and the farthest point. Let the lower limit of the distance range be D min , upper limit D max but:

[0115] D min =0.6×D max

[0116] D max =0.9×D max

[0117] For each point (x i ,y i ) Determine whether the distance to the center of the circle meets the upper and lower limits, and filter out the required coordinates

[0118] D min ≤d i ≤D max

[0119] Traverse the filtered coordinate group and calculate the slope of the straight line connecting the points in the coordinate group and the center of the circle

[0120]

[0121] The slope k of the line connecting the farthest point and the center of the circle d_max Compare and filter out the ones that meet the conditions ki <k d_max For coordinate groups 1 and k i >k d_max For coordinate group 2

[0122] Calculate the distance from each point in the divided coordinate group 1 to the fitted line

[0123]

[0124] Calculate the partial derivatives of S(k, b) with respect to k and b respectively

[0125]

[0126] Set the partial derivatives equal to zero to obtain a system of linear equations and solve them

[0127]

[0128] For coordinate group 2, calculate the slope and intercept in the same way.

[0129] Solve the intersection coordinates by combining the equations of the two lines and get the target coordinate value (x np ,y np ) is the point pointed by the pointer

[0130]

[0131] Dial pointer angle calculation:

[0132] Get the center of the dial and the pointer tip, take out the coordinates of the number "0" obtained in the above steps, and calculate the pointer angle with the three-point coordinates

[0133] In angle calculation, first calculate the digital coordinates (x nump ,y nump )、Needle tip(x np ,y np ) and the center (x circle ,y circle ) between the vector

[0134]

[0135] Calculate the inverse tangent of a vector. This inverse tangent is the radian representation of the angle of the vector.

[0136] It then determines the correct quadrant of the vector by taking into account the signs of y and x and adjusts the angle value accordingly. Specifically, it returns the angle according to the following rules:

[0137] If the pointer is in the range (0,90], the angle is value.

[0138] If the pointer is within the range (90,180], the angle is value.

[0139] If the pointer is within the range (180,270], the angle is value.

[0140] If the pointer is within the range (270,360], the angle is value.

[0141] Adjust the specific output cluster to get the angle (radians) between each vector and the positive direction of the x-axis, and convert it to degrees:

[0142]

[0143] Calculate the angles of the two vectors separately, and then get the degree of the angle from the number to the center vector num 、The angle from the needle tip to the center of the circle degree np .

[0144] Calculating degree num and degree np The angle difference between the two angles is angle_diff, which is the pointer angle.

[0145] When the needle tip is ahead of the number, that is, degree np >degree num ,have

[0146] angle_diff=degree np -degree num

[0147] When the number is ahead of the pointer tip, that is, degree num >degree np ,have

[0148] angle_diff=degree np -degree num +360°

[0149] Repeat this step, and similarly, you can calculate the angles for numbers other than "0". When using other numbers, you need to compensate the angle by a certain value at the end. The compensation size is

[0150] "The size of the number * 36°"

[0151] After getting the angles calculated by all the numbers, remove the values with large errors. Calculate the sum of the differences (absolute values) between each point and the rest of the points and find the minimum value of the difference

[0152]

[0153] Get the angle angle_diff corresponding to the minimum difference i , which is the required angle of the dial pointer.

[0154] Based on the correspondence between the water meter scale angle and the number, a truth table is established. The pointer points to the angle calculated in the above steps and the matching number is queried, as shown in the following table:

[0155] Angle range Pointer numbers Angle range Pointer numbers 0<angle≤36 0 36<angle≤72 1 72<angle≤108 2 108<angle≤144 3 144<angle≤180 4 180<angle≤216 5 216<angle≤252 6 252<angle≤288 7 288<angle≤324 8 324<angle≤360 9

[0156] For example, taking the digital "0" scale coordinate as the starting reference for angle measurement, the actual measured angle pointed by the pointer is 67.60°. β is an existing commonly used algorithm, and the angle calculated using the coordinates of the farthest point of the pointer and the "0" scale is 74.19°. α is the angle between the needle tip pointing and the "0" scale calculated by the present invention, and the calculated deflection angle is 68.25°. The accuracy of the result calculated by the present invention is improved by 8%.

[0157] The embodiments of the present invention are presented for purposes of illustration and description and are not intended to be exhaustive or to limit the invention to the disclosed forms. Many modifications and variations will be apparent to those skilled in the art. The embodiments are chosen and described in order to better illustrate the principles of the invention and its practical application and to enable those skilled in the art to understand the invention and design various embodiments with various modifications as suited for specific applications.

Claims

1. A method for reading a pointer dial, characterized in that: The steps are as follows: Object detection and character recognition model training: Select dial images as training sets, annotate the selected dial images, and mark the scale lines for detection and the numbers for character recognition; Perform data augmentation on the watch face images in the training set to obtain more watch face images in greater numbers and types. The PicoDet model is used as the baseline architecture and trained on a specific scale training set; The numbers match the center points of the tick marks: Match the numbers and tick marks so that the center points of the tick mark rectangles and the number labels are reintegrated into a new array; Input the image to be tested into the scale mark target detection model and the character recognition model respectively, and output the scale mark and digital detection frame in the image to be tested; The scale line detection frame data is obtained through the target detection model, including the coordinates of the upper left corner of the rectangular frame: x p ,y p and the height and width of the rectangular frame: height line 、weight line ; The digital recognition frame data is obtained through the character recognition model, including the coordinates of the four vertices of the rectangular frame, and the coordinates of the upper left corner are taken out: (x pl ,y pl ) and the lower right corner coordinates: (x pr 、y pr ), thereby obtaining the center point of the digital rectangular frame; Each number (num i i∈[0,9]) is the target, and the center points of the scale lines are traversed. The center point distance is: Find the minimum center point distance, take out the x-coordinate and y-coordinate corresponding to the minimum distance, and get the array (num i ,x linej ,y linej ), the array is the matching result; Calculation of circle center coordinates: Obtain the center point coordinates of the digital rectangular frame from the dial reading (x i ,y i ), the equation of the circle is written as x 2 +y 2 +Ax+By+C=0; Find a set of parameters A, B, C that minimizes the error function, and take the partial derivatives of A, B, C to make them 0 Solve the equations to get A, B, C, and calculate the coordinates of the center of the circle (x circle ,y circle ) and radius r Identify pointer pointing : Select dial images as training sets; label the pointers in the images; Paddleseg is selected as the framework for deep semantic segmentation. It is trained on the original image and annotated image training set to obtain the pointer recognition model. The target image to be segmented is put into the pointer recognition model for testing, and an image with only the segmented pointer and background colors is obtained; The image obtained in the previous step is grayscaled and then binarized. The binarization operation divides the image pixels into two categories based on a threshold T, simplifying the image into a binary image containing only foreground values 255 and background values 0; In the binary image, scan row by row starting from pixel (0, 0) to find a pixel whose foreground pixel value is 255 and whose 3*3 neighborhood contains background pixel 0, and select it as the starting point (i, j) for contour tracing; Taking the starting point (i, j) as the basis, trace the remaining contour points, and return the traced boundary points to the starting point (i, j), that is, determine a closed contour, extract the points on this closed contour, and form an edge point coordinate group; For each edge point coordinate group, based on the discrete form of Green's formula, the number of elements in the corresponding area is calculated to determine the area S; Compare the areas S of all edge point coordinate groups and select the one with the largest area S MAX The edge point coordinate group is determined to be the edge point coordinate group of the pointer; Read the center of the fitted circle (x circle ,y circle ) as the center coordinate of the circle, and by iteratively traversing each coordinate element in the edge point coordinate group, the maximum value d is obtained by using the Euclidean distance formula. max The coordinate group corresponding to the distance; By iterating through each point in the coordinate group, find the point whose distance is within 60% to 90% of the distance between the center of the circle and the farthest point. Let the lower limit of the distance range be D min , upper limit D max but: D min =0.6×D max ; D max =0.9×D max ; For each point (x i ,y i ) Determine whether the distance to the center of the circle meets the upper and lower limits, and select the required coordinates; Traverse the filtered coordinate group and calculate the slope of the straight line connecting the points in the coordinate group and the center of the circle The slope k of the line connecting the farthest point and the center of the circle d_max Compare and filter out the ones that meet the conditions k i <k d_max For coordinate groups 1 and k i >k d_max is coordinate group 2; Calculate the distance from each point in the divided coordinate group 1 to the fitting line, remove some points with large distances, and calculate the fitting line; the same applies to group 2; Solve the intersection coordinates by combining the equations of the two lines and get the target coordinate value (x np ,y np ) is the point the pointer points to.

2. A pointer dial reading method according to claim 1, characterized in that: The steps also include: calculating the angle of the dial pointer: obtaining the center of the dial and the pointer tip, taking out the coordinates of the number "0" obtained in the above steps, and calculating the pointer angle using the three-point coordinates; In angle calculation, first calculate the digital coordinates (x nump ,y nump )、Needle tip(x np ,y np ) and the center (x circle ,y circle ) between .

3. A pointer dial reading method according to claim 2, characterized in that: Calculate the inverse tangent of the vector. This inverse tangent is the angle of the vector expressed in radians. Then determine the correct quadrant of the vector by taking into account the signs of y and x and adjust the angle accordingly.

4. A pointer dial reading method according to claim 3, characterized in that: After getting the angles calculated by all the numbers, remove the values with large errors, calculate the sum of the differences between each point and the rest of the points, find the minimum value of the difference, and get the angle angle_diff corresponding to the minimum difference i , which is the required angle of the dial pointer.

5. A pointer dial reading method according to claim 4, characterized in that: Based on the correspondence between the water meter scale line angle and the number, a truth table is established. The pointer points to the angle calculated in the above steps and the matching number is queried.

6. A pointer dial reading method according to claim 1, characterized in that: The type of the dial image includes image color, image size, and image direction.

7. A pointer dial reading method according to claim 1, characterized in that: The PaddleOCR model is used as the benchmark architecture to train the character recognition model, the PicoDet model is trained to obtain the scale line detection model, and the OCR model is used to obtain the dial digit recognition model.