Some more thoughts:
if you compare images, you may not compare them pixel by pixel. Because if you do this and only add the diffrences, you probably get results that will be misinterpreted easily. You better compare groups of pixels. Personally I would use a set of primitives that will describe a group of pixels. A set for 8*8 Pixel groups could be:
straight line (any angle)
curve (any angle and curve size)
dot
corner
line that ends inside the group
etc.
your reference pics (dog, cat rat etc.) would then need to be resolved in such primitives too, so you could compare them easily.
The main problem I see when camparing real world images is:
-diffrent perspectives: you rarely get a perfect sideview of a horse, unless you use a special gate photo construction or somthing.
-diffrent scales. this can be solved partially by scaling the image in a way that the shape fits on the image (assuming the perspective is ok)
-rotation - you won't know if the rotation is right (well, maybe you know it based on the hardware and possible objects etc.). If rotation is unknown, you probably got to compare 360 rotated copies of the image - could be pretty slow...
These are only some thoughts, and I am pretty sure, If I'd try to realize such a programm, a bunch of further problems would pop up immediately.
Anyway, it's a fascinating chapter. Good luck!
if you compare images, you may not compare them pixel by pixel. Because if you do this and only add the diffrences, you probably get results that will be misinterpreted easily. You better compare groups of pixels. Personally I would use a set of primitives that will describe a group of pixels. A set for 8*8 Pixel groups could be:
straight line (any angle)
curve (any angle and curve size)
dot
corner
line that ends inside the group
etc.
your reference pics (dog, cat rat etc.) would then need to be resolved in such primitives too, so you could compare them easily.
The main problem I see when camparing real world images is:
-diffrent perspectives: you rarely get a perfect sideview of a horse, unless you use a special gate photo construction or somthing.
-diffrent scales. this can be solved partially by scaling the image in a way that the shape fits on the image (assuming the perspective is ok)
-rotation - you won't know if the rotation is right (well, maybe you know it based on the hardware and possible objects etc.). If rotation is unknown, you probably got to compare 360 rotated copies of the image - could be pretty slow...
These are only some thoughts, and I am pretty sure, If I'd try to realize such a programm, a bunch of further problems would pop up immediately.
Anyway, it's a fascinating chapter. Good luck!