How to remove noise from leaf image

7 views (last 30 days)

Hi,

I'm asking this questions after spending a lot of days researching without getting an solution for my problem (the good thing is that I've learned a lot).

Well, I have a dataset of leaf images and I will compare their texture to check what's their level of a certain disease. Before working on the code to make comparisons, I've been working on leaf segmentation to remove background (or just make it totally black). I got a binary image and the code was working for some of them, but then I got a bunch of images that have something like a noise in the background and which I'm not able to remove.

I'm pretty new to Matlab, so I'm not sure if this kind of noise is a speckle, salt and pepper or anything else. I just see it when I transform the image to a binary one.

I've attached the original image and the binary image (where you can see the noise in a better way). Most of that it's on top, at left.

Does anyone know how to remove this type of noise from images? I've used medfilter and colfilt, but the results are not good.

Thank you in advance.

Accepted Answer

Image Analyst
Image Analyst on 11 Oct 2015
You didn't segment the leaf properly. You need to do color segmentation, not whatever you did. See attached demo, below this picture it makes:
  3 Comments
parul mittal
parul mittal on 21 Apr 2016
your code file isn't opening . can u plz reload it here.thnx
Prajwala TM
Prajwala TM on 19 Mar 2017
Your code gives the following error: Undefined function 'bwareafilt' for input arguments of type 'double'. Error in test (line 103) leafMask = bwareafilt(leafMask, 1); Please help.

Sign in to comment.

More Answers (0)

Categories

Find more on Agriculture in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!