Weed detection using image processing

I am doing a small mini project for weed detection in gardens . I am trying to use image j. I’ve done some initial preprocessing and was able to segment the images and eliminate background noise so that only plants and weeds were left . How can I further differentiate the plant leaves and weed leaves??

A typical way of doing this is segmentation and classification, see:

Hi @Anshu,

Apart extracting information by processing, you might also have extra information available during the image recording. In the infrared and ultra violet wavelengths there is more information that you might pick up with the proper filter set on the camera. Here is a brief introduction of these techniques. Your undesired species (weeds) might invisibly behave differently from desired species, although they may all look green to the naked eye :sunglasses:

Thanks for the information. But for my project I’m doing very simple process of weed detection using imagej . I can’t go deeper into other techniques.

Hi
@Anshu
Drop an image.
We may be able to see the other possibilities …


This is one of the image that I took from an data set available on internet.
Using imagej I converted this into gray-scale.Then I used mixture modelling plugin to eliminate some background noise. After that I used find edges option which gave me edges .
After this I don’t know how to proceed to get an output in the form of different sizes of leaves .
If u anyone can suggest some plugin for differentiation of leave sizes it would be of very help😅

Use ImageJ.
On your image, test!

run("RGB Stack");
wait(100);
run("Stack to Images");
selectWindow("Green");
setAutoThreshold("Default dark");
//run("Threshold...");
//setThreshold(110, 255);
run("Convert to Mask");

Then Particles Analysis

Thanks. I’ll try and check