Can I identify part of an image using something else other than color? For example, If there is an image of a house, I need to extract just the roof from the image, the roof may have different colors, what do I need to do to just extract the roofs from a set of images of houses. Is there anyway I can do it in C#? Even if I have to use pixels and rgb and other image attributes, how can I do it? I have no idea about image processing..

Thank yo so much for the reply..
But they are comparing 2 images.. they know what to search for befpore begining.. I only know that I need to search for the roof from an image of a house and extract it.. hav no idea of the color or texture.. Is there someway I could identify the color or texture first and then compare and extract the whole of it from the image??? I know it is complicated but am not able to derive a logic...

I don't know enough about this subject to help much more, but I am fairly certain that if you look more closely at the aforge library you will find somthing that does what you need.

If you think about this from a ground up point of view imagine how hard the proposition is: You need to recognise a roof is a roof ensure it is not somthing similar and extract only the part that is a roof. At the same time bare in mind that a roof can take a huge number of different shapes, textures and colours and be easily confused with any number of other objects.

The best method I can think of for this is probably neural network trained on a large number of roof images.

I hope this is of some help!

thank you so much.. It does sound complicated. If i need to extract hair from an image (face) is there anyway? I mean any attributes or characteristics already defined? I am working on extraction and extracting the hair of a person from an image would also help me with my work.

You're talking about months of work to do this type of image processing properly....... and it is way beyond the scope of any help you can get here. Perhaps if you had specific questions we could help you better.

You can identify some parts of a picture by the contrast of the surrounding pixels. If the roof is black and the house is white you would follow around the black pixels along the edge and it would "select" the roof for you. This is how most photo editors work when you're selecting shapes.

Thanks for the reply, let me be more specific "what do I need to do to extract hair from the image of a person" Is there any predefined textures/color values defining hair? I need to extract the hair from the face

No. By the time you take in to account hair of every color and varying photo quality you are looking at the same thing -- the contrast of pixels around a shape.