1. A method of providing video-based object recognition, the method comprising: receiving a frame of image data from an image capture device; selecting a region-of-interest (ROI) within the received frame; calculating a video quality metric (VQM) value for the selected ROI defining quality of the selected ROI; selecting a video quality enhancement (VQE) function based on the VQM value calculated with respect to the ROI; applying the selected VQE function to the selected ROI to enhance quality of the ROI; applying the selected VQE function to the ROI with a plurality of discrete parameter values to generate a plurality of enhanced ROIs, wherein the one or more parameter values define the extent of enhancement provided to the ROI by the selected VQE function; calculating an objective metric measuring quality of each of the plurality of enhanced ROIs; selecting the parameter value that provided the highest quality objective metric as part of the selected VQE function; and applying an object recognition algorithm to the enhanced ROI to identify objects within the ROI.