Separating photos from other images algorithmically? Can an algorithm be derived to classify digital images according to how they were generated, i.e. the classes would be:


Real-world photograph captured with an actual camera.
A Computer-Generated realistic scene.
A hand-drawn image or a painting.


Could perhaps a Machine Learning approach, geared towards analyzing statistics of the signal provide sufficient insight on the problem ?
In that case, is there any known implementation of such algorithm publicly available ?
Difficulty depends on what you really want to classify, i.e. what exactly your data base of images is made ok.
For simple hand-drawn or computer art, I would think of just looking the color histogram (but for complex art with gradients; but still these gradients are likely to induce a very smooth colormap).

At the other extreme, distinguishing realistic computer graphics image from reality is probably impossible.