First of all, you should ask yourself if you want to make it compatible with the UI library you are already using or you are willing to select you UI library based on the choice of the image recognition software. In principle, image recognitions software can be abstracted from UI, but in practice some libraries make some dependencies.
This is because WPF based on DirectX and
System.Windows.Forms
based on GDI+ are very different. There are the inter-operation modules between them though.
Now, what you want is not "image processing" library, this is "image recognition" or "machine vision". There are a number of libraries which are proprietary and pretty expensive. There are some Open Source solutions as well.
First to look at is AForge.NET, see
http://en.wikipedia.org/wiki/AForge.NET[
^],
http://www.aforgenet.com/[
^].
Also look at the following libraries:
OpenCV,
http://en.wikipedia.org/wiki/OpenCV[
^],
http://opencv.willowgarage.com/wiki/[
^],
VXL,
http://en.wikipedia.org/wiki/VXL[
^],
http://vxl.sourceforge.net/[
^].
See also the articles by the author of AForge.NET, CodeProject member Andrew Kirillov:
http://www.codeproject.com/Members/Andrew-Kirillov[
^]. Another CodeProject member to look at is Chesnokov Yuriy,
http://www.codeproject.com/Members/Chesnokov-Yuriy[
^].
—SA