12

I'm currently searching for a C# image recognition library.

What I want to do: I want to write a function that scans an image and returns if another image is part of it. Or at least something that looks familiar in case that the angles of the two objects are different.

The link to a possible library and a short code example would be great!

Thank you in advance!

Mickey
  • 943
  • 1
  • 19
  • 41

3 Answers3

8

Since you didn't mention that you are only looking for free libraries, here are some paid ones:

  1. MVTech HALCON
  2. Cognex VisionPro

Both have demo versions and quite good .Net wrappers bundled to the SDK, and I think both have the functionality you need. In Halcon, you might want to try different matching algorightms (gray value based, descriptor based, etc.), while in VisionPro PatMax or PatQuick might suit your needs. But obviously you have to try which one is the best for your specific problem.

toderik
  • 479
  • 4
  • 8
  • Since I've asked the question I've taken a look at those two libraries too and actually Cognex would be perfect, but then I decided to use the free openCV-library which is working fine now. But as you said: Both libraries (Cognex and Halcon) are very good and I would recommend them too if money is not a problem. – Mickey Feb 17 '14 at 13:31
  • 1
    National Instruments also has a decent package. http://www.ni.com/white-paper/6712/en/ – VoteCoffee Aug 08 '14 at 20:01
  • 1
    I use Cognex a lot. It offers more support for working in a managed environment like .NET and is a little more user friendly for developers to get into. Halcon has a much better 3D toolset and also seems to handle really odd/dynamic pattern matching better (like a basket of vegetables). – VoteCoffee Aug 08 '14 at 20:05
  • I know you can't give exact numbers, but what's the price region for those products? More like up to 5000 US$ per year and around 100 US$ per application or more like some 10 thousands or more? – Knack Nov 16 '14 at 07:03
  • Halcon has good .net wrappers? We must have different definitions of 'good' – Mauro Sampietro Jul 18 '16 at 13:05
6

EmguCV (http://www.emgu.com/wiki/index.php/Main_Page) is a good .NET OpenCV wrapper. It has a bunch of sample projects bundled. Run samples and you will get the idea of what can be done and how.

Pavel Tupitsyn
  • 8,393
  • 3
  • 22
  • 44
0

The Accord.NET library is not actually an image recognition tool set, however it provides the base for what you are aiming for. It contains many Imaging classes required for building an image recognition system. Accord.NET is LGPL licensed, except for some parts of it (e.g. its FFmpeg wrapper project).

sɐunıɔןɐqɐp
  • 3,332
  • 15
  • 36
  • 40