An image which has a specific shape will be given as input by the user. The user will open another image and select a range. Inside the range my program should find out the matching shapes with the inputted image and highlight the shapes. The shapes may be of different sizes and angles. To select the range user will select some points on the image which can be joined using Bezier curves based on the input shape.
I tried combining Edge Detection algorithms with segmentation but they fail to find out the intended shapes. Rather they show all the edges and segments.
Is there any algorithm which will take an image as input and find out the matching areas in the next image(same shapes of varying sizes)?. Please help me as I need to complete this as soon as possible.