Can you read from memory? Speedrunners use programs that auto-split (detect when the runner has reached a certain stage of the game), I think by reading from memory.
The blob detection does work surprisingly well though, doesn't take us very long to add a new game using it. Most of the time is spent making sure we understand the flow of games we don't play ourselves.