This is a simple example using C# and AForge of how you can detect if ImageA is found in ImageB. AForge is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics, etc. You can add it to you're project as a NuGet package or from their website AForge.NET :: Computer Vision, Artificial Intelligence, Robotics The code is very straight forward:  - you load to images(source and template)  - you create a ExhaustiveTemplateMatching from AForge  - you store the found matches in a TemplateMatch                System.Drawing.Bitmap sourceImage = (Bitmap)Bitmap.FromFile(SourceInput.Text);             System.Drawing.Bitmap template = (Bitmap)Bitmap.FromFile(TempateInput.Text);             // create template matching algorithm's instance             // (set similarity threshold to 92.5%)              ExhaustiveTemplateMatching tm = new ExhaustiveTemplateMatching(0.921f);             // find all matchings with specified above similarity              TemplateMatch[] matchings = tm.ProcessImage(sourceImage, template);             // highlight found matchings              foreach (TemplateMatch m in matchings)                 MessageBox.Show(m.Rectangle.Location.ToString());  Working code can be found here: hg clone https://bitbucket.org/rokill3r/imageprocessing