Choosing an Camera/Sensor?

Hello, I am building a project in which I need to detect colors. I am having a hard time finding a sensor that can detect different colors with a long range. I looked for RGB Digital sensors but had no luck finding one that is longer than a couple of short inches.

All the ones I found on adafruit and sparksfun are short range which wouldn't work.

Or.. alternatively, since my project will require a camera, could I use the following for what I need to accomplish?

The learn page talks about using an Leonardo and a ZUMO but I only want to use a simple rover with an Arduino MEGA and not sure if that pixycam would do the job.