It would be difficult to account properly for ingredients such as butter and oil which are hard to see in a finished dish and drastically affect the calories.
But people would probably still pay as long as it's a good faith attempt, since they can't necessarily do better themselves, so it would be just as accurate and save time.
And with geolocation, you could start to figure out where people are and then you'd know exactly the calories if they're at a chain restaurant.