1. A non-transitory program storage device comprising instructions stored thereon to cause one or more processors to: obtain a first time-sequenced set of images, wherein: each image in the first time-sequenced set of images has a capture time and motion data; one image in the first time-sequenced set of images is designated as a current image; a first one or more images within the first time-sequenced set of images having capture times before the current image are designated past images; and a second one or more images within the first time-sequenced set of images having capture times after the current image are designated future images; select a first image from the first time-sequenced set of images to meet a first stabilization constraint; identify a weighting value for each image in the first time-sequenced set of images based, at least in part, on the proximity of the respective image's capture time to the capture time of the current image; adjust the identified weighting value for the selected first image according to a first weighting adjustment value; identify a first stabilization motion value for the current image in the first time-sequenced set of images based, at least in part, on the identified weighting values and the adjusted weighting value for the selected first image; apply the first stabilization motion value to the current image to stabilize the current image; and store the stabilized current image in a memory.