Sin mirar el codigo que nos facilito el compañero anterior te puedo comentar que tenes distintos caminos (algo parecido a lo que dijo el otro compañero con el tema de analizar % en pixels por pixels) uno es hacer algo seco... que analice toda la imagen, pero tienes otros caminos, en donde puedes trabajar con matices para lograr identificar el objeto a analizar en si....
puedes hacer por ejemplo, que donde encuentra una X cantidad de pixeles blanco, no lo analice (teniendo en cuenta que puede ser un fondo) siguiente este tipo de ideas, puedes "inventar" una serie compleja y extensa de algoritmos de IA... Te comento que no es imposible, pero esa serie de codigos, suelen ser desarrolladas por un grupo de trabajo y no una sola persona :P jejeje...
en si... entrando a muy bajo nivel de programacion en cuanto a los algoritmos (pixel por pixel) lo logras, pero tienes que tener un conocimiento de algebra muy grande para hacer las matrices...
ademas te comento que por mi experiencia, a la hora de trabajar pixel por pixel se notaba una diferencia en cuanto al rendimiento de la maquina, en otras palabras, maquina lenta.
te comento a grandes rasgos lo que hacia mi programa, Buscaba todos los pixeles negros (fondo blanco, en otras palabras imagen b/n) y las movia un pixel para la izquierda. EL fin de este programa fue ver que tanto se alentisaba el RAD o delphi utilisando esto, en vez de usar por ejemplo
Código Delphi
[-]image1.canvas.Draw(-1,0,image1.Picture.Graphic);
la diferencia en el refresco de la pantalla era notable aclaro.
esto, obviamente, tambien depende de la resolucion/tamaño de la imagen/s a analizar...
saludos y cuentanos si obtuviste algun resultado satisfactorio
=D la mejor de las suertes!