A ditherless method of compensating non-uniformities among detector elements of a detector array (11A; 11B) that captures successive image frames of a scene, where each detector element of the array (11A; 11B) has at least one neighbor, the method comprising: (i) receiving a current image frame from the detector array (11A; 11B) and a previous image frame from an image frame memory, wherein the current and previous frames are image frames captured by the detector array (11A; 11B) at different times and which are represented as respective matrices each containing image pixel values representing output signals from the detector array (11A; 11B); (ii) applying, at a correction unit (402, 404), a plurality of predetermined correction terms to the current frame and the previous frame to generate a corrected current frame and a corrected previous frame; (iii) generating, at a delta-frame unit, a delta frame by differencing the current frame and the previous frame; (iv) computing, at a gradient-calculation unit, a previous-frame gradient matrix of the corrected previous frame in a first direction, a current-frame gradient matrix of the corrected current frame in a second direction, and a first delta-frame gradient matrix in the first direction and a second delta-frame gradient matrix in the second direction of the delta frame, wherein the second direction is opposite to the first direction; (v) computing, at a gradient-processing unit, a first mask using the previous-frame gradient matrix and the first delta-frame gradient matrix, and a second mask using the current-frame gradient matrix and the second delta-frame gradient matrix, wherein the first mask preserves scene-gradient information of a scene associated with the corrected previous frame in the first direction, and the second mask preserves scene-gradient information associated with the corrected current frame in the second direction; (vi) computing, at a delta-correction unit, a plurality of delta-correction values as a function of the previous-frame gradient matrix, the current-frame gradient matrix, and the first and second masks, wherein each of the plurality of delta-correction values is associated with a different one of the detector elements of the array (11A; 11B); and (vii) updating, at an update unit, each of the plurality of predetermined correction terms with a corresponding delta-correction value. (i) receiving a current image frame from the detector array (11A; 11B) and a previous image frame from an image frame memory, wherein the current and previous frames are image frames captured by the detector array (11A; 11B) at different times and which are represented as respective matrices each containing image pixel values representing output signals from the detector array (11A; 11B); (ii) applying, at a correction unit (402, 404), a plurality of predetermined correction terms to the current frame and the previous frame to generate a corrected current frame and a corrected previous frame; (iii) generating, at a delta-frame unit, a delta frame by differencing the current frame and the previous frame; (iv) computing, at a gradient-calculation unit, a previous-frame gradient matrix of the corrected previous frame in a first direction, a current-frame gradient matrix of the corrected current frame in a second direction, and a first delta-frame gradient matrix in the first direction and a second delta-frame gradient matrix in the second direction of the delta frame, wherein the second direction is opposite to the first direction; (v) computing, at a gradient-processing unit, a first mask using the previous-frame gradient matrix and the first delta-frame gradient matrix, and a second mask using the current-frame gradient matrix and the second delta-frame gradient matrix, wherein the first mask preserves scene-gradient information of a scene associated with the corrected previous frame in the first direction, and the second mask preserves scene-gradient information associated with the corrected current frame in the second direction; (vi) computing, at a delta-correction unit, a plurality of delta-correction values as a function of the previous-frame gradient matrix, the current-frame gradient matrix, and the first and second masks, wherein each of the plurality of delta-correction values is associated with a different one of the detector elements of the array (11A; 11B); and (vii) updating, at an update unit, each of the plurality of predetermined correction terms with a corresponding delta-correction value.