My environment:
I'm doing some image processing using Emgu CV (v 3.2), which is just an OpenCV C# wrapper API, in Visual Studio 2013 for Windows 10.
What I'm intending to do:
Given an image (of a floor plan), the user selects a region (a symbol on the floor plan) and all the matching symbols on that floor plan get highlighted.
How I'm currently doing it:
I've considered machine learning as a potential solution but that requires training data and there are no standard symbols on these floor plans to train with. I have also considered using feature detection, but given that these are flat, 2-D, gray-scale images I feel as if that would be excessive for our purposes. So, I've decided on using Template Matching.
The problem:
In Emgu's MatchTemplate function, it returns a heat-map of probable locations for matches. The problem is, my program is highlighting the same region many times, due to this heat map being "hot" for a few pixels in a row. How can I distinguish between an area that has already been highlighted, and an area that has not?
Any help would be appreciated!