1 | initial version |
Here is a blog post on that which might help you.
For shape detection you can use simple things like extracting features like edges, regions, textures, contours etc.
For color detection you can access the Scalar information of the image and then use it to detect whichever color you want and even decide the threshold.
And yes, as far as I know, both can be one simultaneously although the final program might be computationally expensive. Hope this helps :)