I’m looking to design an image/visual recognition and grouping software using C#. It will be used to visualize image and group them together. How is this kind of software designed anyway? Is there any library and tools that I can use in C# that allows me to analyze, group and find patterns in the image. It will be kind of similar to “search by image” feature of Google where user uploads an image and Google finds similar images.
Thanks.
Dear aspiring programmer,
We appreciate that you are optomistic, and applaude your endeavour– however you seem to have over-simplified a very complex problem. If you want such a framework I recommend OpenCV, there is no one way this problem can be solved, and many ways the problem solving can be implemented. The simplest way conceptually is to measure the color vectors for each pixel of the images and calculate the probability they are the same as anothe image.
For example and image of a a dove on a blue background
RGB
As you can see any images that have a large number of pixels falling between these ranges may also be doves on a blue background, but they could be a number of other things aswell.