I need help to develop an object recognition system. It needs to identify an object in an image by comparing it with an image in an existing database. For example my database may consist of images of cars, buses, cups, etc. If i give a certain image as an input i want the code to check and tell me whether a car(as in the car in the database) can be found to exist in the input image or not. This is strictly to be implemented in c#. I have tried correlation, image subtraction and a few other algorithms but to no effect.So if you have any project regarding this then also you can help me by providing that project with source code. I will learn seeing your project.Your advice are also lots for me. Thanks in advance.
This is a very old problem and a very difficult one. Trying to match off a single example image is not going to work well. Computer vision is a great area, but it is a difficult one.
Generally the focus in these types of problems is that you have a single specific type of item you want to identify (e.g. pedestrians) and you try to simply answer questions like: Does my picture have this type of item in it? If it does, where is it? Which pixels are part of the item (this last is called segmentation - as of a couple years ago a five year old will still do better than state of the art on segmentation).
These problems are hard enough that people mostly focused on just identifying one type of object, or maybe a very small handful. Not too long ago a few researchers put together databases for trying to distinguish a larger selection - It was called the caltech 101 because it had 101 items. Then I believe a version with 500 items was created. However for each of these items there are a number of different photos of the item (at least 24(?) or something like that).
Distinguishing items in this database with high reliability is, last I knew, a state of the art challenge.
I mention this just to ensure that you know what you are asking. If I understand, you are trying to use single photos to recognize the same type of item (but not the same photo of that item) out of a database of single photos of items reliably, and this problem is likely far past what the research state of the art is.
I am developing an image registration software in C# called SharpStitch (it is a commercial package).
The software is written in 100% managed code (C#) and contains the routines required for image matching (feature extration, correspondence matching, multi-image matching, Bayesian check).
I am still in process of writing documentation.
There are also various packages like OpenCV, VLFeat, OpenSURF (C# code available) which allow you to extract features from image. The matching is a different task though.