I'm looking for a .NET library (that can be accessed from C# code) that can compare 2 images and tell how similar they are. I'm trying to find a way to compare a scanned copy of a document with the original, and tell whether this really is the scan of the original document or something completely different. The scan can obviously be blurry or can be rotated at different angles.
I want the input to be 2 image files, and the output - something that can be interpreted as a scale (e.g. 0 - images completely different, 100 - identical). If the scanned copy is identical but rotated or smaller in size, the score should also be ~100.
I understand that this task cannot be automated with 100% success, but a tool that could at least work in some of the cases would be nice too. I don't have any requirements for the type of the library (free or commercial, open- or closed-source) as long as it gets the job done.