1. A method of correcting an infrared image, the method comprising: providing a processor; receiving the infrared image from a camera, the infrared image comprising a plurality of pixels arranged in an input image array, a first pixel in the plurality of pixels having a first pixel value and one or more neighbor pixels with one or more neighbor pixel values, wherein the first pixel and the one or more neighbor pixels are associated with an object in the image, the one of more neighbor pixels being adjacent to the first pixel in the input image array; processing the infrared image to generate a processed image; providing a correction array having a plurality of correction pixel values; providing a corrected image based on the correction array and the processed image; determining, by the processor, that the camera is moving: detecting edges in the corrected image; and updating the correction array for each correction pixel value in the correction array; and providing an output image based on the updated correction array and the processed image; and determining, by the processor, that the camera is not moving: providing the corrected image as the output image, wherein the processed image is a product of the received infrared image with a gain factor and a sum of the product and an offset table, and wherein the corrected image is the processed image summed with a correction array updated in a previous frame.