I am currently taking a graduate course about Image Processing in electrical engineering and while this question doesn't particularly relate to the class itself but rather some concepts in the algorithms we utilize.

One of the algorithms that we utilized was called, "Image Correlation" in order to find a "match" from using a segment of the picture and almost convolving it into the main picture. Below is an example of how this algorithm is implemented to find the correlation in the picture.

From Digital Image Processing by Rafael C. Gonzalez and Richard E. Woods... enter image description here

My question is, instead of starting from the top left, why can't we estimate where the result is first before implementing the algorithm? Wouldn't it save time to know where you would like to start the process?

  • $\begingroup$ The whole picture is searched to find a match. Estimation used is eithervas good as the pattern matcher or misses some cases and leaves more work. In general, if you can estimate, then yes, it is an awesome idea, but not always estimation is possible. $\endgroup$
    – Evil
    Apr 3, 2018 at 20:01
  • $\begingroup$ @Evil That's what I was thinking. I knew that some calculations would be skipped but if you know some parameters of roughly where your target would be, I thought it would be good to save time instead of scanning the entire block of information. $\endgroup$
    – user84111
    Apr 3, 2018 at 20:05

1 Answer 1


Yes, it absolutely would save time. You are quite right, and you are onto a good idea -- that idea is frequently used to speed up image matching.

The core challenge is: how do we come up with an estimate where the result might be, more efficiently than using the correlation algorithm? It's not obvious how to do that, short of doing a correlation (which wouldn't actually save any time).

Fortunately, there are ways to do that. A standard approach is to use an image pyramid. You downscale the image to a lower resolution, then look for a downscaled version of the T in that smaller image (again using correlation). Because the image is smaller, the correlation calculation goes faster. Then that gives you a pretty good estimate where the T is, and instead of searching the entire full-resolution image, you only need to check a small portion of the full-resolution image. If you find multiple matches in the downscaled image, you can check all of them on the full-resolution image.

  • $\begingroup$ Interesting approach. I would have never thought of that. I would have tried using a "parameter of interest" and going from there instead of pinpointing exactly where I would like to make a guess. $\endgroup$
    – user84111
    Apr 3, 2018 at 21:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.