1. A method for real-time recovery of barcode features from a plurality of image frames, comprising: (a) obtaining a first image frame from the plurality of image frames, wherein the plurality of image frames include a barcode; (b) detecting four-corner coordinates of the barcode in the first image frame using at least one corner template; (c) detecting a set of barcode features of the barcode based on image intensities; (d) estimating a noise level of the detected set of barcode features using at least one barcode template; (e) if the estimated noise level is not greater than a predetermined threshold level, collecting statistical information of the set of barcode features, wherein statistical barcode data is generated from accumulating the collected statistical information; (f) determining whether the set of barcode features can be decoded based on the statistical barcode data; (g) if it is determined that the set of barcode features cannot be successfully decoded based on the statistical barcode data, repeating (a)-(g) for a next image frame in the plurality of image frames; and (h) if it is determined that the set of barcode features can be successfully decoded based on the statistical barcode data, decoding the set of barcode features to extract information encoded in the barcode, wherein the set o of barcode features could not be decoded from any one individual image frame in the plurality of image frames.