Finding an image within an image

Are there are software libraries out there that would allow me to find an image within an image?
This would be a precise pixel by pixel match.  For example, if I had a screen shot of my desktop saved as a bitmap, then tried to find within that screen shot an image of the internet explorer icon.  
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I don't know about a library.
But if it is an *exact* pixel by pixel match, then you may retreive the raw screen and image pixels and use this algorithm:

char *screen; //doesn't matter how many bits per pixel the screen has...
char *image: //but it should be the same as the image bbp in screen the FIRST LINE of the image
you found a potential match, so compare the other lines
for the comparison you'll need to add (ScreenWidth - ImageWidth) to the screen pointer, to get to the next row of pixels
...if it is not a match, loop and find another match for the first line.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
McBluffinAuthor Commented:
Sorry, but I really am looking for a library so I don't have to write all the code myself.  There are more complex operations I need to do as well, which I would hope to find in such a library.
There some libraries to match document which uses a technique like you asked. Theyu are all commerical libraries and they cost too much.

For Example TMSSequoia ( currently pegasus has it ) has  FormFix to match input forms as well as Prism IP to do image processing.

No free library to do such a job as far as i know.

What other functions you need?
i'm very curious about your application. would mind telling us a little bit more of what exactly the use case is and what you are trying to do? usually for finding an image in an image, a precise pixel match isn't very good cuz it is not very noise tolerant. hence cross-correlation of images is usually used. but since this is a very computationally expensive operation, dedicated DSP/ ASICs are generally employed.

i know this may sound tangential now, but maybe knowing your target application, we can provide better help?

you may also want to explore and for libraries

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.