Recognize some objects and delete other objects from image

1 次查看(过去 30 天)
How can i isolate my green '+' selected objects from the other objects.I only want to plot the green objects and want to delete others object from my image.I need an idea to do that.

回答(2 个)

Samia Sanjari
Samia Sanjari 2016-2-11
Hello Image analyst Do you have any idea how can i do that?I already selected my objects and marked them by green '+'.I only want to show these green selected objects in my image.
Thanks in advance

Image Analyst
Image Analyst 2016-2-11
Basically you need to find everything except squares. You can do that by adapting my attached shape recognition demo.
  3 个评论
Image Analyst
Image Analyst 2016-2-12
First find the green where the red and blue channel are low and the green value is high.
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
greenCrosses = greenChannel > t1 & redChannel < t2 & blueChannel < t3;
Next find white where all channels are high.
whiteBackground = greenChannel > t1 & redChannel > t1 & blueChannel > t1;
Then use imclearborder() to get rid of the surround.
shapesOnly = imclearborder(whiteBackground);
Then use imreconstruct with the white image and the green image to get only those shapes with green on them.
See if you can finish the code.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by