Recognizing Set CARDs
Since you only have fixed types.

For colour, I think it is fairly straight forward. 
For number, simplest way is to plot a projection histogram and count the points of discontinuity. 

An example of the projection histogram 



For fill, You can find the number of islands. Islands of background colour. 
For shape, Like Clement Hui suggested you can use shape detection