CPC G06T 7/0004 (2013.01) [G06Q 10/0631 (2013.01); G06T 5/002 (2013.01); G06T 5/009 (2013.01); G06T 7/62 (2017.01); G06T 7/64 (2017.01); G06T 7/70 (2017.01); G08B 5/22 (2013.01); G08B 21/18 (2013.01); H04Q 9/00 (2013.01); G06T 2207/10016 (2013.01); G06T 2207/30164 (2013.01)] | 20 Claims |
1. A method, comprising:
receiving, by a device, video data identifying frames of a video capturing an analog meter with a dial and a needle;
processing, by the device, each of the frames, with a Hough transform model, to identify a center, a radius, and a perimeter of the dial;
determining, by the device, calibrated values for the dial based on the center, the radius, and the perimeter;
applying, by the device, a Gaussian blur model to one of the frames to create a base mask;
applying, by the device, thresholding for a dynamic hue saturation value (HSV) bounding value, to the base mask and the frames, to create masked frames;
identifying, by the device, contours for each of the masked frames;
processing, by the device, the contours, with a point polygon model, to identify and remove noisy polygons from the contours;
identifying, by the device, a quantity of points for each of the contours of each of the frames;
estimating, by the device, angles of the needle of the analog meter based on the quantity of points for each of the contours;
averaging, by the device, the estimated angles to determine an averaged needle angle and to identify anomalies;
determining, by the device, a needle direction based on the averaged needle angle and the anomalies;
calculating, by the device, a meter reading for the analog meter based on the averaged needle angle, the needle direction, and the calibrated values; and
providing, by the device, the meter reading for display.
|