How could get the texture of a flower in a plant with stdfilt() function in MATLAB?

1 view (last 30 days)
Hello,
How stdfilt() should be used to get the texture of a part of an image?
For example the attached images.
  10 Comments
Walter Roberson
Walter Roberson on 28 Oct 2018
Remove the background. Do a detection for bright yellow: if you find it then it must be Yufeng. Otherwise detect green, and find the mean brightness: the Yufeng is notably darker.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 28 Oct 2018
I'd use imsplit() to get the individual color channels and then call stdfilt() on each color channel individually.
  3 Comments
Image Analyst
Image Analyst on 28 Oct 2018
Regions that vary a lot in gray level (complicated parts with lots of leaf edges) will have high values. Regions that are smooth will have low stddev values. Just try it and see:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
windowWidth = 15; % Whatever...
sdRed = stdfilt(recChannel, ones(windowWidth));
imshow(sdRed, []);
% Same for green and blue.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!