Might want to look into Viola-Jones image detection or Google around for Haar-like feature detection. You might also look at the OpenCV library (link); I've used it before and it's a solid library.
You will probably have to address orientation in a somewhat more complex way. I am not an expert on this subject, but I was taken to understand that many computer vision methods are very sensitive to differences in orientation. This may be a subject of ongoing research, so you might check out Google scholar for some idea.
Hope that helps point you in the right direction. Let us know if that was helpful and what you end up doing!