1. A computer-implemented method for identifying patches for enhancing an original image, comprising: generating global descriptors describing a plurality of received images and patch descriptors describing patches within the received images, wherein generating patch descriptors describing patches within the received images comprises: identifying a set of patches within a received image, wherein each patch is a region of pixels within the received image; generating feature vectors for the patches within the set of patches; and applying a dimensionality reduction algorithm to the feature vectors to produce the patch descriptors; generating one or more searchable data structures for the received images responsive to the global descriptors and the patch descriptors; generating a global descriptor describing an original image and a patch descriptor describing a patch of the original image for which enhancement is desired; searching, using the global descriptor describing the original image and the patch descriptor describing the patch of the original image, the one or more searchable data structures; identifying, responsive to the search, a set of patches within the received images suitable for enhancing the patch of the original image; and storing the set of patches suitable for enhancing the patch of the original image.