Color sensor suits best

I have to differentiate between two plants based on their colours.which colour sensor suits best for this? I want accurate colour. Suggest me.Thank you in advance

You may get a color footprint, but this would not help to differentiate plants, unless one is dark green and another one is light green or red.

How is the colour scan ro be performed? A robot arm pokes the plant leaf with a stick with the sensor at the end? Or a human arm? Or must it be read from a distance? If from distance, you need a camera and at least a Raspberry Pi to do some image recognising and blurring to get an average colour of the leaves.

A good camera might work, if the lighting is appropriate.

Plants don't have a single colour. Nothing has a single colour. A plant reflects a certain spectrum (mostly in green as blue and red are absorbed by its photosynthesis), and this spectrum is what our eyes interpret as "colour".

So what you need is a spectrum analyser, and a good light source (sunlight is best as that's the most ideal spectrum you can find - incandescent light maybe a second best, CFL and LED lights are probably just about useless for this).

As yet I have not been able to find a commercially available spectrum analyser, the closest so far is the AS7265x set of sensors (production supposedly started a few months ago), which combine to an 18-channel spectrum analyser, but I haven't been able to find these in retail quantities or offered on breakout board.

Sure a spectrum analyser is much better than just an RGB sensor. But a spectrum analyser sees more than a human eye. If a human eye can do the differentiation of two plants based on the colour, so can an RGB sensor. The human eye sees 700 nm as red, 530 nm as green and 470 nm as blue. 580 nm is yellow, but the human eye has no particular sense for 580 nm. Instead the red "sensor" (which is tuned to 700 nm) gets triggered, as well as the green "sensor" (which is tuned to 530 nm). The blend of these two triggered cells give the sense of seeing yellow. If red and green light is mixed, which actually holds two wave lengths, namely 700 and 530, the human eye reacts the same as if there were a monochromatic light of 580 nm. Sort of! Don't hang up on exact values here.

So an RGB sensor would react like a human eye (if the individual colour channels would have the same sensitivity as the colour specified cells in the human retina). A blend of 700 nm and 530 nm would give same readings on an RGB sensor as 580 nm would. Sort of! In that way, if a human eye sees the different greens of the two plants in question, so does an RGB sensor.

But, perhaps the RGB sensor needs to do a scan of all the colours of the leaf. A leaf like this:


...is recognised by a human eye, not by a single RGB value, but by the pattern that the different greens create. The human eye does a 2D pattern recognition. But a machine could do a couple of 1D scans. Perhaps even an Arduino could handle that.

This problem is well-known in the remote sensing (satellite). As far as I am aware, spectrum analysis can distinguish coniferous from deciduous leafs treas and from shrubs. But not more than that.

For doing that, one shall set and analyse the so-called "training fields" on the GIS map (IR-VIS rasters). Working with training fields s very laborious and consumes a lot of computer resources. Yet rewarding.

I have to agree that scale is different: remote sensing usually is for 10 m to 30 cm resolution, while in this project the expected resolution seems to be bellow 10 cm or so.

+++

In my opinion, the thread author may find useful to state what is the objective of his/her project: what species (Latin taxonomy preferable)? At what stage? How many plants? From what distance?

My project is somehow similar to this one. but mine is set for learning/demonstration of how an eye work, is not for actual differentiation between objects based on spectrum analysis.