1. One or more volatile and/or non-volatile computer-readable media storing information to enable a device to perform a process, the process comprising: receiving a digital image; finding continuous two-dimensional blurred edges in portions of the digital image and computing corresponding two-dimensional sharpened edges oriented and located relative to the digital image; computing a blur kernel based on the two-dimensional sharpened edges; and applying the blur kernel to the digital image to produce a de-blurred version of the digital image.