Matching superimposed image
I will assume the patch is the same position and is unchanged.  Given this, you could try a two-step procedure with basic image processing methods:
Step 0 (optional): Align/register the two images.
Step 1: Compute local image similarity, on a pixel-wise basis.
Step 2: Find a large connected region in that similarity map where there is high similarity.

For Step 1, one approach is local correlation, as you used.  You could also try normalized cross correlation if you think one image might be shifted slightly (e.g., by a subpixel amount).  Another is to compute the square of the pixelwise difference of the two images.  Yet another possibility: at coordinate $(x,y)$, extract a patch 7x7 patch from each image centered at $(x,y)$, compute some measure of image similarity (e.g., L2 distance, local correlation, you name it; possibly preceded by some image registration step) between those two patches, and use that as the similarity measure at $(x,y)$; do this for every coordinate.
For Step 2, you are looking for a large connected region with a high similarity score.  One approach is to threshold followed by connected components.  Another approach is a watershed transform.  Another approach  is to use image morphological operators (e.g., opening) followed by one of these methods.  More generally, you could look at methods for blob detection.
With image processing tasks like this, you may need to experiment with a bunch of different methods and see which ones work well.  When you experiment, I recommend that you implement, measure its effectiveness, also look at a random sample of 5-10 images and the results of the analysis on those images, and look at a random sample of 5-10 images that got handled incorrectly.  This visualization can be helpful in understanding in what situations a method fails, which can sometimes suggest improvements to address those particular situations.