Patent Publication Number: US-11386640-B2

Title: Reading system, reading method, and storage medium

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This is a continuation application of International Patent Application PCT/JP2019/006228, filed on Feb. 20, 2019. This application also claims priority to Japanese Patent Application No. 2018-056702, filed on Mar. 23, 2018 and Japanese Patent Application No. 2018-130053, filed on Jul. 9, 2018. The entire contents of each are incorporated herein by reference. 
    
    
     FIELD 
     Embodiments described herein relate generally to a reading system, a reading method, and a storage medium. 
     BACKGROUND 
     There is a system that reads a numerical value indicated by a meter. It is desirable for the system to have high accuracy of reading the numerical value. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating a configuration of a reading system according to an embodiment; 
         FIGS. 2A to 2E  are schematic views for describing processing of a generator and a corrector of the reading system according to the embodiment; 
         FIGS. 3A to 3D  are schematic views for describing processing of a reader of the reading system according to the embodiment; 
         FIGS. 4A to 4C  are schematic views for describing processing of the generator and the corrector of the reading system according to the embodiment; 
         FIG. 5  is a flowchart illustrating operations of the reading system according to the embodiment; 
         FIG. 6  is a flowchart illustrating operations of the reading system according to the embodiment; 
         FIG. 7  is a flowchart illustrating operations of the reading system according to the embodiment; and 
         FIG. 8  is a block diagram illustrating a hardware configuration for realizing the reading systems according to the embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     According to one embodiment, a reading system includes an extractor, a generator, a corrector, and a reader. The extractor extracts a first candidate region from an input image. The first candidate region is of a candidate of a region in which a meter is imaged. The generator generates a rectangle around the first candidate region when an exterior form of the first candidate region is circular. The rectangle corresponds to the exterior form of the first candidate region. The corrector generates a second candidate region by using the generated rectangle to correct the exterior form of the first candidate region to approach a perfect circle. The reader reads, from the second candidate region, a numerical value indicated by the meter. 
     Various embodiments are described below with reference to the accompanying drawings. 
     In the specification and drawings, components similar to those described previously or illustrated in an antecedent drawing are marked with like reference numerals, and a detailed description is omitted as appropriate. 
       FIG. 1  is a block diagram illustrating a configuration of a reading system according to an embodiment. 
       FIGS. 2A to 2E  are schematic views for describing processing of a generator and a corrector of the reading system according to the embodiment. 
       FIGS. 3A to 3D  are schematic views for describing processing of a reader of the reading system according to the embodiment. 
     The reading system  1  according to the embodiment is used to read a numerical value indicated by a pointer in a meter from an image including the meter. The reading system  1  according to the embodiment is used favorably for a meter including a pointer rotating around a rotation axis, and multiple graduations arranged along a circumferential direction around the rotation axis. In the meter to be read, the multiple graduations may be arranged in a circular or circular arc-like configuration. The meter further includes a display panel on which the multiple graduations are marked, and numerical values marked to correspond to at least a portion of the multiple graduations. Typically, in such a meter, the outer rim, the outer frame, and the like of the display panel are a circle or circular (e.g., an ellipse, an oval, etc.). In the description of the embodiments hereinafter, such a meter is called a round meter. 
     As illustrated in  FIG. 1 , the reading system  1  according to the embodiment includes an imager  11 , an extractor  12 , a generator  13 , a corrector  14 , and a reader  15 . 
     The imager  11  acquires a static image by imaging a round meter. The imager  11  outputs the acquired image to the extractor  12 . When a video image is imaged by the imager  11 , a static image is cut out from the video image and output to the extractor  12 . An object other than a round meter may be imaged in the image. 
     The extractor  12  extracts, from the image that is input, a candidate of a region in which a round meter is imaged. Here, the image that is imaged by the imager  11  and input to the extractor  12  is called the input image. A region that is a portion of the input image and is a candidate of the round meter is called a first candidate region. The first candidate region is a portion of the input image in which the round meter is determined by the extractor  12  to be imaged. Multiple first candidate regions may be output from the extractor  12 . 
     As one specific example, the extractor  12  includes a contour extractor  12   a  and a selector  12   b.    
     For example, the contour extractor  12   a  extracts a contour included in the input image based on a brightness difference of the input image. The contour extractor  12   a  may perform additional processing of the input image as appropriate when extracting the contour. For example, the contour extractor  12   a  may convert the input image into a grayscale, subsequently binarize the image, and extract a contour of a region illustrated using white from the binary image. 
     The selector  12   b  calculates the surface area of the region surrounded with the contour. When multiple contours are extracted, the surface area of each region is calculated. The selector  12   b  compares each calculated surface area to a prescribed threshold and selects only the regions for which the surface area is not less than the threshold. Thereby, regions that have surface areas that are too small are excluded from the candidates. 
     The selector  12   b  detects the shape of the contour. The selector  12   b  excludes the contour from the candidates when the shape of the contour is not circular or rectangular. 
     Thereby, a region that includes a circular or rectangular contour and has not less than a prescribed surface area is selected as the first candidate region and output to the generator  13 . 
     The generator  13  determines whether or not the exterior form of the first candidate region is circular or rectangular. When the exterior form of the first candidate region is rectangular, the first candidate region can be corrected (a projective transformation) by utilizing the exterior form. Therefore, for example, the generator  13  outputs the first candidate region as-is to the corrector  14 . Circular means a shape such as an ellipse, an egg-like shape, an oval, or the like that is macroscopically rounded. 
     For example, the round meter may be disposed at a position separated from the imager  11  and may be tilted with respect to the lens surface of the imager  11 . In such a case, the outer edge of the round meter in the image is substantially an ellipse. Or, the round meter may be disposed proximately to the imager  11  and tilted with respect to the lens surface of the imager  11 . In such a case, the outer edge of the round meter in the image is egg-shaped according to the lens characteristics of the imager  11 , etc. 
     When the exterior form of the first candidate region is circular, the generator  13  detects a rectangle that circumscribes the first candidate region. For example, as illustrated in  FIG. 2A , the generator  13  detects a rectangle R that circumscribes points a, b, c, and d of the first candidate region A 1 . Then, for the points a, b, c, and d, the generator  13  connects points on mutually-opposing sides of the rectangle R. In the example of  FIG. 2A , the point a and the point b are connected, and the point c and the point d are connected. Then, the generator  13  detects the intersection of these line segments as a center point O 1  of the first candidate region A 1 . 
     Then, the generator  13  extracts graduations S 1  of the round meter based on, for example, the luminance difference in the first candidate region A 1 . Continuing, the generator  13  detects a central region that includes the center of the round meter by performing at least one of the following first method or second method. 
     In the first method, the generator  13  detects the density of the graduations S 1  in each of multiple regions in the first candidate region A 1 . When the first candidate region A 1  is distorted, fluctuation occurs in the density of the graduations S 1 . Specifically, as in a region B 1  and a region B 2  illustrated in  FIG. 2B , the spacing between the graduations S 1  decreases and the density increases as the graduations S 1  are positioned more depthward with respect to the imager  11 . The center of the meter exists more proximately to the region where the density is high than to the region where the density is low. The center of the meter exists more proximately to the region where the density is high as the density difference between the regions increases. Based on the density difference between the regions, the generator  13  detects a central region C where the likelihood of the center of the round meter existing is high. 
     In the second method, the generator  13  generates extension lines E 1  along the detected graduations S 1 . Then, as illustrated in  FIG. 2C , the region where the intersections of the extension lines E 1  are clustered is detected as the central region C. 
     The generator  13  may narrow down the central region C by combining the first method and the second method. 
     Then, the generator  13  assumes a point O 2  in the central region C at a location a distance x from the center point O 1  to be the center point of the round meter. The direction of the distance x is the short-side direction of the rectangle R (the short-axis direction of the first candidate region A 1 ). As illustrated in  FIG. 2D , the generator  13  calculates multiple distances r 1 , r 2 , and r 3  from the center point O 2  of the round meter that is set to the outer edge of the first candidate region A 1 . 
     The distance r 1  is the distance between the point O 2  and a point e on the outer edge of the first candidate region A 1 . The point e is the intersection between the outer edge of the first candidate region A 1  and a line that is parallel to the short side of the rectangle R and passes through the point O 2 . The distance r 2  is the distance between the point O 2  and a point f on the outer edge of the first candidate region A 1 . The distance r 3  is the distance between the point O 2  and a point g on the outer edge of the first candidate region A 1 . The points f and g are at the intersections between the outer edge of the first candidate region A 1  and a line that is parallel to the long side of the rectangle R and passes through the point O 2 . 
     Based on the distances r 1  to r 3  and the characteristics of the imager  11 , the generator  13  generates a rectangle Q corresponding to the exterior form of the first candidate region A 1  around the first candidate region A 1 . Favorably, the rectangle Q contacts the outer edge of the first candidate region A 1 . By using the circumscribing rectangle Q to perform a projective transformation described below, the first candidate region A 1  can be corrected more accurately (caused to approach a more perfect circle). 
     An example of a method for generating the circumscribing rectangle Q will now be described. The focal length of the lens of the imager  11  is taken as f. The distance between the imager  11  and the point O 2  is taken as S O . For example, the distance S O  is calculated based on the focal position of the imager  11 . The tilt of the round meter with respect to the optical axis of the imager  11  is taken as θ. The actual radius of the round meter is taken as R. 
     The following Formula (1) to Formula (3) hold for the distances r 1  to r 3 , the focal length f, the distance S O , the tilt θ, and the radius R.
 
 r 1= R·f/S   O   (1)
 
 r 3= f ·cos θ·(ln( R  sin θ+ S   O )−ln( S   O ))  (2)
 
 r 2= f ·cos θ·(−ln(− R  sin θ+ S   O )+ln( S   O ))  (3)
 
     The generator  13  calculates the radius R by substituting the focal length f and the distance S O  acquired beforehand and the distance r 1  in Formula (1). The generator  13  substitutes the radius R and the distance r 2  in Formula (2) and substitutes the radius R and the distance r 3  in Formula (3). The generator  13  calculates the tilt θ by solving these formulas. A length Le 1  of the side between a vertex V 1  and a vertex V 2  of the rectangle Q is represented by the following Formula (4). A length Le 2  of the side between a vertex V 3  and a vertex V 4  is represented by the following Formula (5).
 
 Le 1= f·R /( S   O   +R  sin θ)  (4)
 
 Le 2= f·R /( S   O   −R  sin θ)  (5)
 
     The generator  13  calculates the lengths Le 1  and Le 2  by substituting the focal length f, the distance S O , the radius R, and the tilt θ in Formula (4) and Formula (5). The generator  13  uses, as the rectangle Q, the rectangle that includes the calculated lengths Le 1  and Le 2  and has the smallest surface area. The generator  13  outputs the rectangle Q to the corrector  14 . 
     The corrector  14  performs a projective transformation of the rectangle Q to become a square. Thereby, the exterior form of the first candidate region A 1  is corrected to approach a perfect circle; for example, a second candidate region A 2  such as that illustrated in  FIG. 2E  is generated. At this time, the corrector  14  also may correct the size of the first candidate region A 1  so that the first candidate region A 1  approaches a specified size. The exterior form of the generated second candidate region A 2  may not be a perfect circle. It is sufficient for the exterior form of the second candidate region A 2  to be closer to a perfect circle than is the exterior form of the first candidate region A 1 . 
     For example, the corrector  14  outputs the generated second candidate region A 2  to the reader  15 . Or, the corrector  14  may perform the following determination for the second candidate region A 2 . 
     For example, the corrector  14  inverts a portion of the outer edge of the second candidate region A 2  and overlays the portion and another portion of the outer edge of the second candidate region A 2 . The corrector  14  calculates the error amount between the portion of the outer edge of the second candidate region A 2  and the other portion of the outer edge of the second candidate region A 2  that are overlaid and compares the error amount to a preset first threshold. 
     For example, as illustrated in  FIG. 2E , the corrector  14  draws a line segment ij that is parallel to the short side of the rectangle R and passes through a center O 3  of the second candidate region A 2 . Then, the corrector  14  inverts and overlays one of a circular arc ikj at the left side of the line segment ij or a circular arc ilj at the right side of the line segment ij onto the other of the circular arc ikj or the circular arc ilj by using the line segment ij as the center. The corrector  14  calculates the error amount between the overlaid circular arc hji and circular arc hki and compares the error amount to the first threshold. 
     Or, the corrector  14  approximates the outer edge of the second candidate region A 2  as a circle. The corrector  14  calculates the error amount between the approximated circle and the outer edge of the second candidate region A 2  and compares the error amount to the first threshold. 
     When the error amount is less than the first threshold, the corrector  14  outputs the second candidate region A 2  to the reader  15 . By performing the determination, only the second candidate regions A 2  that are closer to a perfect circle (having a small distortion) can be output to the reader  15 . 
     When the error amount is not less than the first threshold, for example, the reading system  1  ends the processing of reading the generated second candidate region A 2  and the first candidate region A 1  that is the basis for the generated second candidate region A 2 . Or, more desirably, the reading system  1  performs the following processing. 
     When the error amount is not less than the first threshold, the corrector  14  outputs the determination result to the generator  13 . When the determination result from the corrector  14  is input, the generator  13  changes the distance x and sets another point O 2  within the range of the central region C. The generator  13  generates another rectangle Q based on the other point O 2 . The corrector  14  generates another second candidate region A 2  by using the other rectangle Q to correct the first candidate region A 1 . The corrector  14  calculates the error amount for the other second candidate region A 2 . 
     For example, the generation of the rectangle Q and the generation of the second candidate region A 2  described above are repeated until the corrector  14  determines that the error amount is less than the first threshold. When it is determined that the error amount is less than the first threshold, the corrector  14  outputs the other second candidate region A 2  to the reader  15 . 
     Or, when the input image is unclear, etc., there is a possibility that no error amount will be less than the first threshold even when multiple others of the second candidate regions A 2  are generated. In such a case, for example, the corrector  14  outputs the second candidate region A 2  for which the minimum error amount is obtained to the reader  15 . 
     The reader  15  reads the numerical value indicated by the round meter from the second candidate region A 2 . 
     Specifically, the reader  15  includes a subdivider  15   a , a graduation recognizer  15   b , a numeral recognizer  15   c , a pointer recognizer  15   d , a graduation joiner  15   e , and a calculator  15   f.    
     As illustrated in  FIG. 3A , the subdivider  15   a  extracts a display panel region F of the round meter from the second candidate region A 2 . Then, as illustrated in  FIG. 3B , the subdivider  15   a  subdivides the display panel region F into a scale region F 1  where the graduations exist, a numeral region F 2  where the numerical values of the display panel exist, and a pointer region F 3  where the pointer of the display panel exists. The subdivider  15   a  determines a reference line G in the display panel region F. The reference line G is, for example, a straight line drawn directly downward from the center of the display panel region F. 
     For example, the subdivider  15   a  extracts line components from the second candidate region A 2 , and uses a Hough transform to extract the most circular line component. The region at the outer circumference portion of the extracted circle is used as the scale region F 1 . Typically, the background of the display panel is a relatively bright color (e.g., white), and the pointer and the numerals are a relatively dark color (e.g., black). Also, the pointer is provided more toward the center of the display panel than are the graduations and the numerals. By utilizing these aspects, the subdivider  15   a  extracts the numeral region F 2  and the pointer region F 3  from regions other than the scale region F 1 . 
     For example, the graduation recognizer  15   b  recognizes graduations S 2  of the display panel as illustrated in  FIG. 3B  from the luminance difference in the scale region F 1 . Based on the recognized graduations S 2 , the graduation recognizer  15   b  also may determine whether or not the second candidate region A 2  is corrected appropriately. For example, the graduation recognizer  15   b  causes the graduations S 2  arranged in the circumferential direction to be arranged along one direction by performing a polar transformation. Then, the graduation recognizer  15   b  calculates at least one of the deviation amount of the spacing between the graduations S 2 , the deviation amount of the widths of the graduations S 2 , or the deviation amount of the shapes of the graduations S 2 . The graduation recognizer  15   b  compares the calculated deviation amount to a preset second threshold. 
     When the deviation amount is less than the second threshold, the processing continues to read the round meter. By performing the determination recited above, the read processing can be performed for only the display panel regions F having small distortions, and the reading accuracy of the value indicated by the round meter can be increased. 
     When the deviation amount is not less than the second threshold, for example, the reading system  1  ends the processing of the reading for the display panel region F. Or, more desirably, the reading system  1  performs the following processing. 
     When the deviation amount is not less than the second threshold, for example, the graduation recognizer  15   b  outputs the determination result and at least one of the deviation amounts recited above to the generator  13 . When the determination result recited above is input, the generator  13  changes the distance x according to the deviation amount and sets another point O 2  within the range of the central region C. The generator  13  generates another rectangle Q based on the other point O 2 . The corrector  14  generates another second candidate region A 2  by using the other rectangle Q to correct the first candidate region A 1 . The graduation recognizer  15   b  recognizes the graduations S 2  based on the other second candidate region A 2  and calculates the deviation amount again. 
     For example, the generation of the rectangle Q, the generation of the second candidate region A 2 , and the recognition of the graduations S 2  described above are repeated until the reader  15  determines that the deviation amount is less than the second threshold. When it is determined that the deviation amount is less than the second threshold, the reader  15  performs the read processing by using the scale region F 1 , the numeral region F 2 , and the pointer region F 3  based on the display panel region F. 
     Or, there are cases where no deviation amount will be less than the second threshold even when multiple others of the second candidate regions A 2  are generated. In such a case, for example, the reader  15  performs the read processing by using the scale region F 1 , the numeral region F 2 , and the pointer region F 3  based on the display panel region F for which the minimum deviation amount is obtained. 
     When the graduation recognizer  15   b  determines that the deviation amount is less than the second threshold, the numeral recognizer  15   c  cuts out numerals from the numeral region F 2 . For example, as illustrated in  FIG. 3C , the numeral recognizer  15   c  cuts out rectangles H including the numerals from the numeral region F 2 . The numeral recognizer  15   c  recognizes the numerals included in the rectangles H. The pointer recognizer  15   d  detects an angle θ between the reference line G and a pointer I included in the pointer region F 3 . 
     As illustrated in  FIG. 3D , the graduation joiner  15   e  extracts, as position information of each graduation, the angle between the reference line G and a straight line E 2  extending through the graduation S 2 . The graduation joiner  15   e  determines the numerals corresponding to the recognized graduations S 2 . 
     The calculator  15   f  calculates the numerical value indicated by the pointer based on the position information of the graduations S 2 , the correspondence information of the graduations S 2  and the numerals, and the angle of the pointer. For example, the reader  15  outputs the calculated numerical value to the outside. 
       FIGS. 4A to 4C  are schematic views for describing processing of the generator and the corrector of the reading system according to the embodiment. 
     The generator  13  may detect the center of the round meter by using the following third method. First, as illustrated in  FIG. 4A , the generator  13  detects the rectangle R that circumscribes the first candidate region A 1 . The contact points of the first candidate region A 1  and the rectangle R are taken as the points a to d. A line segment that connects the point a and the point b is taken as a major axis ab, and a line segment that connects the point c and the point d is taken as a minor axis cd. The intersection of the line segment ab and the line segment cd is taken as O 1 . The generator  13  generates a straight line Lm along the pointer I of the round meter from the luminance difference in the first candidate region A 1  and the result of a Hough transform. As illustrated in  FIG. 4B , the generator  13  uses the intersection of the straight line Lm and the minor axis (the line segment cd) of the first candidate region A 1  as a center O 2  of the round meter. 
     For example, the generator  13  generates the straight line Lm by using the following method. First, the generator  13  uses the result of the Hough transform to extract one or more line segments having not less than a prescribed length based on the size of the first candidate region A 1 . Then, the generator  13  extends each of the extracted line segments, and extracts, as the straight line Lm, a straight line that passes through the region estimated to be the center of the circular meter. For example, the region that is estimated to be the center of the circular meter is set to the vicinity of the intersection O 1  of the major axis ab and the minor axis cd of the circumscribing rectangle R illustrated in  FIG. 4A . 
     When straight lines along the pointer I are generated by the method described above, there are cases where two straight lines Lm 1  and Lm 2  along two ends of the pointer I are generated as illustrated in  FIG. 4C . In such a case, the generator  13  generates a straight line passing through the center between the straight lines Lm 1  and Lm 2  and uses the generated straight line as the straight line Lm. 
     The generator  13  generates the rectangle Q by calculating the distances r 1  to r 3  illustrated in  FIG. 2D  based on the center set by the third method. In such a case, the center of the round meter can be determined more accurately. Accordingly, the calculation of the error amount by the corrector  14 , the calculation of the deviation amount using the graduation recognizer  15   b , etc., may be omitted. 
       FIG. 5  to  FIG. 7  are flowcharts illustrating operations of the reading system according to the embodiment. 
       FIG. 6  is a flowchart illustrating detailed operations of step S 13  of  FIG. 5 .  FIG. 7  is a flowchart illustrating detailed operations of steps S 14  and S 15  of  FIG. 5 . 
     As illustrated in  FIG. 5 , first, the reading system  1  uses the imager  11  to acquire an image including a round meter (step S 11 ). The contour extractor  12   a  extracts a contour included in the input image (step S 12   a ). The selector  12   b  calculates the surface area of a region surrounded with the contour. The selector  12   b  detects the shape of the contour. The selector  12   b  selects only regions that have surface areas not less than a threshold and have circular or rectangular contours (step S 12   b ). The selector  12   b  outputs the selected region to the generator  13  as the first candidate region. 
     Then, a rectangle that circumscribes the first candidate region is generated (step S 13 ), a second candidate region is generated (step S 14 ), and an indicated value is read (step S 15 ). Subsequently, it is determined whether or not another first candidate region exists (step S 16 ). When another first candidate region exists, step S 13  is performed for the other first candidate region. 
     In step S 13  as illustrated in  FIG. 6 , the generator  13  determines whether or not the exterior form of the first candidate region is circular (step S 13   a ). When the exterior form of the first candidate region is circular, the generator  13  generates a rectangle that circumscribes the first candidate region (step S 13   b ). The generator  13  detects the center point of the first candidate region from the first candidate region and the circumscribing rectangle (step S 13   c ). The generator  13  detects a central region including the center of the round meter (step S 13   d ). The generator  13  assumes a point in the central region to be the center point of the round meter (step S 13   e ). The generator  13  uses the virtual center point to generate a rectangle around the first candidate region (step S 13   f ). 
     In step S 14  as illustrated in  FIG. 7 , the corrector  14  generates a second candidate region by using the rectangle to correct the first candidate region (step S 14   a ). The corrector  14  calculates an error amount for the second candidate region and compares the error amount and the first threshold (step S 14   b ). When the error amount is not less than the first threshold, the flow returns to step S 13   e , and another virtual center point is set. 
     The subdivider  15   a  extracts the display panel region of the round meter from the second candidate region and subdivides the display panel region into a scale region, a numeral region, and a pointer region (step S 15   a ). The graduation recognizer  15   b  recognizes the graduations of the display panel (step S 15   b   1 ). The graduation recognizer  15   b  calculates a deviation amount for the recognized graduations and compares the deviation amount to the second threshold (step S 15   b   2 ). When the deviation amount is not less than the second threshold, the flow returns to step S 13   e , and another virtual center point is set. 
     The numeral recognizer  15   c  recognizes numerals from the numeral region (step S 15   c ). The pointer recognizer  15   d  detects the angle of a pointer included in the pointer region (step S 15   d ). The graduation joiner  15   e  extracts position information of the graduations and correspondence information of the graduations and the numerals (step S 15   e ). The calculator  15   f  calculates a value indicated by the round meter from the position information of the graduations, the correspondence information of the graduations and the numerals, and the angle of the pointer (step S 15   f ). Subsequently, it is determined whether or not another first candidate region exists (step S 16 ). When another first candidate region exists, step S 13   a  is performed for the other first candidate region. 
     Effects of the embodiments will now be described. 
     In a reading system for reading a numerical value of a round meter, when the round meter is distorted in the input image, for example, the image is corrected by utilizing a rectangular outer frame attached to the round meter. By appropriately correcting the distortion and/or the size of the image, the numerical value that is indicated by the round meter can be read with higher accuracy. However, there are round meters that do not have a rectangular outer frame. In such a case, in a conventional technique, the image cannot be corrected appropriately, and the reading accuracy of the indicated value of the round meter decreases. 
     For this problem, in the embodiment, the reading system  1  includes the generator  13 . When the exterior form of the first candidate region is circular, the generator  13  generates a rectangle around the exterior form. Because the rectangle is generated by the generator  13 , the first candidate region can be corrected using the circumscribing rectangle. 
     Accordingly, according to the embodiment, even when the round meter does not include a rectangular outer frame, the first candidate region can be corrected appropriately, and the numerical value that is indicated by the round meter can be read with higher accuracy. 
     In the reading system  1 , the corrector  14  determines whether or not the first candidate region is corrected appropriately based on the error amount of the second candidate region. By performing the determination, the reading of the indicated value can be performed for an image having less distortion, and the reading accuracy is increased. 
     In the reading system  1 , the reader  15  determines whether or not the first candidate region is corrected appropriately based on the deviation amount of the graduations extracted from the second candidate region. By performing the determination, similarly to the description recited above, the reading of the indicated value can be performed for an image having less distortion, and the reading accuracy is increased. 
       FIG. 8  is a block diagram illustrating a hardware configuration for realizing the reading systems according to the embodiments. 
     For example, the reading systems according to the embodiments include a reading device  5  and an imaging device  6  illustrated in  FIG. 8 . The reading device  5  is, for example, a computer and includes ROM (Read Only Memory)  51 , RAM (Random Access Memory)  52 , a CPU (Central Processing Unit)  53 , and a HDD (Hard Disk Drive)  54 . 
     The ROM  51  stores programs controlling the operations of the computer. The ROM  51  stores programs necessary for causing the computer to function as the extractor, the converter, the corrector, the reader, etc., of the embodiments described above. 
     The RAM  52  functions as a memory region where the programs stored in the ROM  51  are loaded. The CPU  53  reads a control program stored in the ROM  51  and controls the operation of the computer according to the control program. The CPU  53  loads various data obtained by the operation of the computer into the RAM  52 . The HDD  54  stores information necessary for reading and information obtained in the reading process. 
     Instead of the HDD  54 , the reading device  5  may include an eMMC (embedded Multi Media Card), a SSD (Solid State Drive), a SSHD (Solid State Hybrid Drive), etc. 
     The imaging device  6  images the subject (the round meter) and transmits the acquired image to the reading device  5 . The imaging device  6  is, for example, a camera. 
     An output device  7  outputs the data (the indicated value of the round meter that is read) output from the reading device  5  so that the user can recognize the data. The output device  7  is, for example, a monitor, a printer, a speaker, etc. 
     For example, the reading device  5 , the imaging device  6 , and the output device  7  are connected to each other by a wired or wireless technique. Or, these devices may be connected to each other via a network. Or, at least two of the reading device  5 , the imaging device  6 , or the output device  7  may be embedded in one device. For example, the reading device  5  may be embedded in an integral body with an image processor of the imaging device  6 , etc. 
     An embodiment of the invention includes the following program. 
     A program causing a computer to:
         extract a first candidate region from an input image, the first candidate region being a candidate of a region in which a meter is imaged;   generate a rectangle around the first candidate region when an exterior form of the first candidate region is circular, the rectangle corresponding to the exterior form of the first candidate region;   generate a second candidate region by using the generated rectangle to correct the exterior form of the first candidate region to approach a perfect circle; and   read, from the second candidate region, a numerical value indicated by the meter.       

     By using the reading systems and the reading methods according to the embodiments described above, a numerical value that is indicated by a meter can be read with higher accuracy. Similarly, a numerical value that is indicated by a meter can be read by a computer with higher accuracy by using a program for causing the computer to operate as the reading system. 
     While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions, and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the invention. The above embodiments can be practiced in combination with each other.